Excel ODBC SQL 语句抛出错误'[ODBC EXCEL 驱动程序] 条件中的数据类型不匹配

Posted

技术标签:

【中文标题】Excel ODBC SQL 语句抛出错误\'[ODBC EXCEL 驱动程序] 条件中的数据类型不匹配【英文标题】:Excel ODBC SQL Statement Throwing Error '[ODBC EXCEL Driver] Data Type Mismatch in criteriaExcel ODBC SQL 语句抛出错误'[ODBC EXCEL 驱动程序] 条件中的数据类型不匹配 【发布时间】:2015-04-21 12:53:47 【问题描述】:

下面的 SQL 语句将值插入到新表中的新工作表 (TempPoints) 中。如果我删除语句的最后一部分(粗体),查询运行正常,但是当我将其添加回语句时,我会收到以下错误消息; '[ODBC EXCEL 驱动程序] 标准中的数据类型不匹配'。

我已经在 SQLServer 中复制了表和查询,它运行正常并且符合预期,这证明完整的语句是正常的。这是 Excel ODBC 驱动程序的限制吗??

提前谢谢你。

strSQL = "INSERT INTO [TempPoints$] (REFP, PointItemRef, LoadItemRef, PointDES, Iotype, Subtype, Notes) " & _
               "SELECT " & tempref & ", [PointsDB$].ItemRef, [LoadstoPointsDB$].LoadRef, [PointsDB$].PointDES, [PointsDB$].Iotype, [PointsDB$].Subtype, [PointsDB$].Notes " & _
               "FROM [LoadsToPointsDB$] INNER JOIN [PointsDB$] ON [LoadsToPointsDB$].PointRef = [PointsDB$].ItemRef " & _
               "WHERE [LoadsToPointsDB$].LoadRef = " & moditemref & " AND [PointsDB$].SystemComp = 'Y' " & _
               **"AND NOT EXISTS (SELECT * FROM [TempPoints$] WHERE [TempPoints$].PointItemRef = [PointsDB$].ItemRef)"**

【问题讨论】:

【参考方案1】:

感谢那些看到这个的人,但我似乎找到了答案。

之前有一个 insert into 语句将数据加载到表中,一旦将数据加载到其中,表会将数字存储为文本而不是整数。在删除行并确保列的格式设置为整数后,SQL 查询开始按预期运行。

【讨论】:

以上是关于Excel ODBC SQL 语句抛出错误'[ODBC EXCEL 驱动程序] 条件中的数据类型不匹配的主要内容,如果未能解决你的问题,请参考以下文章

excel里可以使用sql语句吗

用于在 R 中合并文件的 ODBC 连接错误

Redshift ODBC 错误

sql数据库语句

ODBC数据源连接不上SQL SERVER 2000

使用 DISTINCT 值连接表的 SQL