SqlBulkCopy不复制字符串>长度为255个字符

时间:2009-04-20 17:11:52

标签: excel sqlbulkcopy

我正在尝试将大型Excel电子表格复制到SQL Server数据库中。我正在打开OldDbConnection到Excel电子表格并从[Sheet1 $]中读取所有内容。然后,我使用OleDbCommand获取带有电子表格数据的IDataReader。

Excel表格中有多个单元格,文本内容超过256个字符。但是,一旦使用SqlBulkCopy将其上传到数据库表,我只会看到数据库中这些excel单元格的前255个字符。数据库表字段长度为5000个字符。

SqlBulkCopy会限制字段大小吗?谢谢!

2 个答案:

答案 0 :(得分:0)

根据我对ADO数据连接的经验,在将记录集的光标位置更改为客户端时,检索和发送大型文本字符串可能会更好。

这里有一个简短的例子:

Dim rstADO As ADODB.Recordset
Set rstADO = New ADODB.Recordset
rstADO.CursorLocation = adUseClient

但仔细查看您的帖子我认为您目前没有使用ADO,如果您决定尝试在您的方法中使用ADO,则无论如何都可能值得一看。祝你好运!

答案 1 :(得分:0)

我不知道SqlBulkCopy和OldDbConnection 但Excel可能会发出前255个字符 在Excel中,如果使用.value属性访问单元格值,则会获得前255个字符,如果使用.text属性访问它,则会获得全文。希望这会给你一些想法。