首先,抱歉这篇长篇文章。我想彻底了解我的示例/数据,这篇文章的大部分就是这样。
我在新工作中使用格式文件(.fmt)继承了批量导入过程。这个过程是由我之前在这里工作的人创建的,我的工作就是学习这个过程(并立即修复)。我对这些东西知之甚少,但我做了一些研究。几个星期后,我还没有真正到任何地方。这是我正在使用的...
--BCP命令将数据从C:\ Desktop \ 20180629_2377167_PR_NP.txt导入表LA_Temp.dbo.ProvReg
bcp LA_Temp.dbo.ProvReg IN C:\ Desktop \ 20180629_2377167_PR_NP.txt -f C:\ Desktop \ PROVREG.FMT -T -S SERVERNAME -k -m 1000000
- 表格格式文件的表格结构:
SELECT [NPI]
,[D1]
,[EntityType]
,[D2]
,[ReplaceNPI]
,[D3]
,[ProvName]
,[D4]
,[MailAddr1]
,[D5]
,[MailAddr2]
,[D6]
,[MailCity]
,[D7]
,[MailState]
,[D8]
,[MailZip]
,[D9]
,[MailCountry]
,[D10]
,[MailPhone]
,[D11]
,[MailFax]
,[D12]
,[LocAddr1]
,[D13]
,[LocAddr2]
,[D14]
,[LocCity]
,[D15]
,[LocState]
,[D16]
,[LocZip]
,[D17]
,[LocCountry]
,[D18]
,[LocPhone]
,[D19]
,[LocFax]
,[D20]
,[Taxonomy1]
,[D21]
,[Taxonomy2]
,[D22]
,[Taxonomy3]
,[D23]
,[OtherProvID]
,[D24]
,[OtherProvIDType]
,[D25]
,[ProvEnumDate]
,[D26]
,[LastUpdate]
,[D27]
,[DeactivateRC]
,[D28]
,[DeactivateDate]
,[D29]
,[ReactivateDate]
,[D30]
,[Gender]
,[D31]
,[License]
,[D32]
,[LicenseState]
,[D33]
,[AuthorizedContact]
,[D34]
,[ContactTitle]
,[D35]
,[ContactPhone]
,[D36]
,[PanelOpen]
,[D37]
,[Language1]
,[D38]
,[Language2]
,[D39]
,[Language3]
,[D40]
,[Language4]
,[D41]
,[Language5]
,[D42]
,[AgeRestrict]
,[D43]
,[PCPMax]
,[D44]
,[PCPActual]
,[D45]
,[PCPAll]
,[D46]
,[EnrollInd]
,[D47]
,[EnrollDate]
,[D48]
,[FamilyOnly]
,[D49]
,[SubSpec1]
,[D50]
,[SubSpec2]
,[D51]
,[SubSpec3]
,[D52]
,[ContractName]
,[D53]
,[ContractBegin]
,[D54]
,[ContractEnd]
,[D55]
,[Parish1]
,[D56]
,[Parish2]
,[D57]
,[Parish3]
,[D58]
,[Parish4]
,[D59]
,[Parish5]
,[D60]
,[Parish6]
,[D61]
,[Parish7]
,[D62]
,[Parish8]
,[D63]
,[Parish9]
,[D64]
,[Parish10]
,[D65]
,[Parish11]
,[D66]
,[Parish12]
,[D67]
,[Parish13]
,[D68]
,[Parish14]
,[D69]
,[Parish15]
,[D70]
,[PCPInd]
,[D71]
,[DisplayOnline]
,[D72]
,[ExpAgeRestrict]
,[D73]
,[Suffix]
,[D74]
,[Title]
,[D75]
,[PrescriberInd]
,[Spaces]
,[End]
来自[LA_Temp]。[dbo]。[ProvReg]
- 示例文本文件数据(这是一行)9999999999 ^ 0 ^ ^ ^ 3800 HMA BLVD STE 305 ^ ^ METAIRIE ^ LA ^ 70006 ^ ^ 5048729679 ^ ^ 3800 HMA BLVD ^ ^ METAIRIE ^ LA ^ 70006 ^ ^ 9999999999 ^ ^ 207Q00000X ^ ^ ^ 0000000 ^ 2001 ^ ^ 00000000 ^ ^ 00000000 ^ 00000000 ^ F ^ ^ LA ^ ^ ^ ^ N ^ 1 ^ 0 ^ 0 ^ 0 ^ 0 ^ 2 ^ 00000 ^ 00000 ^ 00000 ^ ^ ^ ^ ^ ^ ^ 000000000000000000000000000000 ^ 00000000 ^ 00000000 ^ 26 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 00 ^ 0 ^ 0 ^接受年龄为000-000 ^ ^ MD的患者^ ^
- 格式文件
11.0
153
1 SQLCHAR 0 40“\ t”1 NPI SQL_Latin1_General_Pref_CP1_CI_AS
2 SQLCHAR 0 2“\ t”2 D1 SQL_Latin1_General_Pref_CP1_CI_AS
3 SQLCHAR 0 2“\ t”3 EntityType
......一路......
153 SQLCHAR 0 2“\ r \ n”153结束
我已经更改了目录,servername和一些文本文件数据以保持安全性,但是,它非常相似。
这是我遇到的问题:在我刚刚从SQL表创建的格式文件中使用“\ t”,我收到错误:[Microsoft] [SQL Server Native Client 11.0]在BCP数据文件中遇到意外的EOF 。
如果我将其更改为“”或“^”(因为我认为它应该是因为文本文件使用胡萝卜分隔符),行开始复制时出现错误[Microsoft] [SQL Server Native Client 11.0]字符串数据,右截断SQLState = 22001,NativeError = 0. BCP复制失败。
如果有人可以请指出我正确的方向来解决这个问题,或者如果你看到任何不合适的地方,请告诉我。正如我所提到的,我已经有一段时间了,可以使用我能得到的任何建议。不幸的是,我公司没有人可以问这个问题。