强制转换规范的字符值无效
我使用 SQLXMLBulkLoad.SQLXMLBulkload.3.0 将数据插入 SQL 2005
我的数据表具有以下列: objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.DateTime"))
我的批量插入架构具有以下定义:
(使用 xmlns:xsd="http://www.w3.org/2001/XMLSchema")
并且我收到 '强制转换规范的字符值无效' 异常。
有什么建议吗?
I am inserting data into SQL 2005 using SQLXMLBulkLoad.SQLXMLBulkload.3.0
My data table has following column:objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.DateTime"))
My bulk insert schema has following definition:<xsd:element name="DepartureTime" type="xsd:date" />
(Using xmlns:xsd="http://www.w3.org/2001/XMLSchema")
And I am getting 'Invalid character value for cast specification' exception.
Any advice?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
解决了!
更改列类型:
objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.DateTime"))
到
objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.String"))
并将我的值存储为 .ToString("yyyy-MM-dd HH:mm") + ":00+00 :00”在数据表中。
当在磁盘上创建 XML 文件时,它只是将其写入字符串,而用于批量插入的模式文件将其读取为日期时间。
Solved!.
Changed column type from:
objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.DateTime"))
to
objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.String"))
and I am storing my value as .ToString("yyyy-MM-dd HH:mm") + ":00+00:00" in the data table.
when creating XML file on disk, it simply writes it as string and the schema file for bulk insert reads it as datetime.
问题是源列中的空白......这就是导致强制转换规范的字符值无效的原因。
The problem is blanks in the source columns........ this is what is causing the invalid character value for cast specification.