我正在尝试使用SQL Server导入和导出向导将* .DAT文件(作为平面文件源)导入sql server。它有DC4作为分隔符,在尝试分离列及其各自的数据并将它们导入sql server时导致错误。
导入过程中是否有任何设置更改?
答案 0 :(得分:1)
该向导在引擎盖下使用SSIS。而不是直接执行它,选择CrLF作为行分隔符,然后选择将其保存为文件。打开文件并使用任何文本编辑器进行编辑。它是一个简单的xml文件。
不清楚0x04是列分隔符还是行分隔符。假设它是行分隔符, 替换
的所有实例Delimiter="_x000D__x000A_"
带
Delimiter="_x0004_"
有两个实例:DTS:HeaderRowDelimiter和DTS:ColumnDelimiter
保存文件并使用双重clik或"打开方式执行它:执行包实用程序"。我使用权限有限的帐户在我的电脑上测试了该解决方案。
答案 1 :(得分:0)
如果您没有 使用该向导,则可以将其编写为:
BULK INSERT [your_database].[your_schema].[your_table]
FROM 'your file location.dat'
WITH (ROWTERMINATOR='0x04' -- DC4 char
,MAXERRORS=0
,FIELDTERMINATOR='þ'
,TABLOCK
,CodePage='RAW'
)