![](/img/trans.png)
[英]SSIS An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005, The metadata could not be determined
[英]SQL Server Bulk Insert conversion error MSG 4864 HRESULT 0x80004005
这是我的第一个问题(过去几年来我一直在潜伏和学习很多东西)。
我在SQL Server 2012中批量插入有问题,它返回错误。
批量插入代码:
--DROP TABLE dbname.logg20160203
BULK INSERT dbname.logg20160204
FROM 'x:\xxxx\SYSTEMID\log20151005t.ms'
WITH
(
FIRSTROW = 1,
ORDER (Id),
CODEPAGE = 'RAW',
--DATAFILETYPE = 'char',
FIELDTERMINATOR = '|',
--ROWTERMINATOR = '\n',
--ROWTERMINATOR = '\r',
--ROWTERMINATOR = '\n\r',
--ROWTERMINATOR = '\r\n',
ROWTERMINATOR = '0x0a',
TABLOCK, --Performance
ERRORFILE = 'x:\xxxx\SYSTEMID\err104.log',
FORMATFILE = 'x:\xxxx\SYSTEMID\formatfile-n.fmt',
KEEPNULLS
);
返回错误:
消息4864,第16级,州1,第2行
第2行第1列(TStamp)的批量加载数据转换错误(类型不匹配或指定代码页的字符无效)。
这是消息中指定的数据:
2|yyyy-mm-dd hh:mm:ss|||GTM|||cccccccc||||||
我的格式文件(以便我们可以在数据中保留瑞典字母)
11.0
14
1 SQLCHAR 0 0 "" 1 col1 ""
2 SQLCHAR 0 19 "\r\n" 2 col2 ""
3 SQLCHAR 0 20 "" 3 col3 Finnish_Swedish_CI_AS
4 SQLCHAR 0 5 "" 4 col4 Finnish_Swedish_CI_AS
5 SQLCHAR 0 10 "" 5 col5 Finnish_Swedish_CI_AS
6 SQLCHAR 0 20 "" 6 col6 Finnish_Swedish_CI_AS
7 SQLCHAR 0 20 "" 7 col7 Finnish_Swedish_CI_AS
8 SQLCHAR 0 100 "" 8 col8 Finnish_Swedish_CI_AS
9 SQLCHAR 0 10 "" 9 col9 Finnish_Swedish_CI_AS
10 SQLCHAR 0 20 "" 10 col10 Finnish_Swedish_CI_AS
11 SQLCHAR 0 20 "" 11 col11 Finnish_Swedish_CI_AS
12 SQLCHAR 0 20 "" 12 col12 Finnish_Swedish_CI_AS
13 SQLCHAR 0 20 "" 13 col13 Finnish_Swedish_CI_AS
14 SQLCHAR 0 20 "" 14 col14 Finnish_Swedish_CI_AS
err104.log
Row 2 File Offset 331 ErrorFile Offset 0 - HRESULT 0x80004005
Row 3 File Offset 637 ErrorFile Offset 306 - HRESULT 0x80004005
Row 4 File Offset 978 ErrorFile Offset 647 - HRESULT 0x80004005
Row 5 File Offset 1278 ErrorFile Offset 947 - HRESULT 0x80004005
Row 6 File Offset 1627 ErrorFile Offset 1296 - HRESULT 0x80004005
Row 7 File Offset 1946 ErrorFile Offset 1615 - HRESULT 0x80004005
Row 8 File Offset 2300 ErrorFile Offset 1969 - HRESULT 0x80004005
Row 9 File Offset 2597 ErrorFile Offset 2266 - HRESULT 0x80004005
Row 10 File Offset 2940 ErrorFile Offset 2609 - HRESULT 0x80004005
Row 11 File Offset 3261 ErrorFile Offset 2930 - HRESULT 0x80004005
Row 12 File Offset 3564 ErrorFile Offset 3233 - HRESULT 0x80004005
提前致谢! 如果您对问题本身有任何意见或需要任何详细信息,请随时询问。
DATETIME允许的格式:
YYYY-MM-DDThh:mm:ss[.mmm]
YYYYMMDD[ hh:mm:ss[.mmm]]
方括号之间的内容是可选的。 该T
第一格式是字符T
。 在第二个版本中, DD
和hh
之间有一个空格(如果存在hh
)
此外,格式文件中缺少分隔符。 如果在BULK INSERT
语句中指定了格式文件,则需要提供有效的字段终止符。 因此,您需要指定|
作为格式文件中的字段终止符。 如果行终止符为\\r\\n
则需要在格式文件中将其指定为最终字段终止符。
请参阅有关Create a Format File (SQL Server)
的官方文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.