问题描述
我正在使用SQLXMLBulkLoad.SQLXMLBulkload.3.0将数据插入SQL 2005中。
I am inserting data into SQL 2005 using SQLXMLBulkLoad.SQLXMLBulkload.3.0
我的数据表具有以下列:
objDataTable。 Columns.Add( TaskDateTime,System.Type.GetType( System.DateTime))
My data table has following column:objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.DateTime"))
我的批量插入架构具有以下定义:
< xsd:element name = DepartureTime type = xsd:date />
(使用xmlns:xsd = http ://www.w3.org/2001/XMLSchema)
My bulk insert schema has following definition:<xsd:element name="DepartureTime" type="xsd:date" />
(Using xmlns:xsd="http://www.w3.org/2001/XMLSchema")
我得到用于转换说明的无效字符值 异常。
有什么建议吗?
推荐答案
解决了!。
列类型从
更改为objDataTable.Columns.Add( TaskDateTime,System.Type.GetType( System.DateTime))
到
objDataTable.Columns.Add( TaskDateTime,System.Type.GetType( System.String))
Changed column type from:objDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.DateTime"))toobjDataTable.Columns.Add("TaskDateTime", System.Type.GetType("System.String"))
并且我将值存储为.ToString(数据表中的 yyyy-MM-dd HH:mm)+:00 + 00:00。
在磁盘上创建XML文件时,它只是将其写为字符串,而用于批量插入的架构文件会将其读取为datetime。
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.
这篇关于转换规范的字符值无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!