0
我搜索为什么从Excel到SQL表输入不(通过vb.net)故障数据从Excel中复制使用BulkCopy到SQL(vb.net)
Excel文件中工作良好的原因输入包含1300行和12列。最后五列包含价格。 输入后,我的表格如果填满了excel数据,除了两个最后的“价格”列,其中所有的数据都是'空'。 奇怪的是,我的所有“价格”列在SQL目标表中的格式与相同的类型(十进制(18,2)),即使在Excel文件。 对于副本,我使用SqlBulkCopy,我想知道这个函数是不是有限的。
这里是我的代码:
Dim ExcelConnection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & fTransp & ";Extended Properties=""Excel 12.0 Xml;HDR=Yes""")
ExcelConnection.Open()
Dim RequeteExcelTransp As String = "SELECT * FROM [ExcelCetup$]"
Dim objCmdSelect As OleDbCommand = New OleDbCommand(RequeteExcelTransp, ExcelConnection)
Dim objDR As OleDbDataReader
Using bulkCopy As SqlBulkCopy = New SqlBulkCopy(ConnexionLinkyStat)
bulkCopy.DestinationTableName = "dbo." & TableTransp & ""
Try
objDR = objCmdSelect.ExecuteReader
bulkCopy.WriteToServer(objDR)
objDR.Close()
ConnexionLinkyStat.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Using
ExcelConnection.Close()
您是否确认这些列正在读取在尝试批量复制之前将它放入'objDR'中? – topshot
@topshot是的,我确认objDR读取所有列 – Elhendriks
我假设列名完全相同,但可能试着'SqlBulkCopyColumnMapping'来确保。 – topshot