0

我正在使用以下代码通过 ADO 连接到 Excel 2007 工作簿运行 SQL SELECT 查询(使用自定义版本的 VBScript)

dim ado, rs
set ado = CreateObject("ADODB.Connection")
ado.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=workbook.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";"
ado.open()
set rs = ado.execute("SELECT * FROM [sheet1$]")

这是直截了当的。问题是任何文本长度超过 255 个字符的单元格都会被截断;有没有办法解决?连接字符串中是否有支持此功能的属性,还是我需要在 excel 文档本身中更改的选项?我已经尝试过 MSSQL 的 CAST() 函数,但这只会在执行时导致错误。

任何帮助将不胜感激。

4

2 回答 2

1

我认为您遇到了 Excel 数据访问提供程序中长期存在的限制的变体。有关示例,请参阅http://support.microsoft.com/default.aspx?scid=kb;EN-US;189897或谷歌了解更多。

于 2009-03-13T13:14:01.460 回答
0

您是否尝试过使用 CONVERT() 函数,而不是尝试使用 CAST()?

于 2009-03-13T11:25:17.727 回答