【问题标题】:Are SQL concatenations possible using the JDBC to ODBC bridge?是否可以使用 JDBC 到 ODBC 桥接进行 SQL 连接?
【发布时间】:2012-09-14 20:52:24
【问题描述】:

当我使用 MS Access 中的字段连接运行查询时,我可以编写以下内容并且它工作正常:

SELECT e.FirstName + " " + e.LastName + " " + e.MiddleName AS Attendant FROM (EMPLOYEES e INNER JOIN PAY pay ON e.SocialSecurityNumber = pay.Pay_Emp_ID) INNER JOIN Patients pat ON pay.Pay_Pat_ID = pat.PatientID;

但如果我尝试使用 SQuirreL SQL 中的 JDBC / ODBC 桥运行相同的查询,则会收到一条错误消息:

Error: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
SQLState:  07001
ErrorCode: -3010

ODBC 是否需要一些不同于 MS-Access 的其他语法?

【问题讨论】:

    标签: ms-access jdbc odbc ms-access-2003 squirrel-sql


    【解决方案1】:

    Access ODBC 驱动程序允许连接,但这些双引号字符似乎存在问题……至少在这种情况下是这样。根据 VBScript 的测试,我认为如果您用单引号代替双引号,您的查询可能会起作用:

    SELECT e.FirstName + ' ' + e.LastName + ' ' + e.MiddleName AS Attendant
    FROM
        (EMPLOYEES e INNER JOIN PAY pay
        ON e.SocialSecurityNumber = pay.Pay_Emp_ID)
        INNER JOIN Patients pat
        ON pay.Pay_Pat_ID = pat.PatientID;
    

    但是,我不了解 Java,因此不知道该桥接功能是否会以某种方式混淆 ODBC 通信。但是直接通过 Access ODBC 驱动程序提交该查询确实对我有用。

    【讨论】:

    • 我认为您对双引号字符的看法是正确的,由于某种原因它不喜欢它们,每次我在查询中使用它们时都会遇到相同的参数错误。
    猜你喜欢
    • 1970-01-01
    • 2017-04-30
    • 2015-11-03
    • 2011-02-23
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多