针对Excel工作簿的SQL查询运行返回截断的文本字段

时间:2009-03-13 11:22:10

标签: sql excel-2007 ado

我正在使用以下代码通过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()函数,但这只会在执行时导致错误。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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