0

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

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

SqlBulkCopy 是否限制字段大小?谢谢!

4

2 回答 2

0

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

这里有一个简短的例子:

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

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

于 2009-04-20T20:02:16.130 回答
0

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

于 2009-04-20T21:12:39.813 回答