1

当我使用 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 的其他语法?

4

1 回答 1

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 驱动程序提交该查询确实对我有用。

于 2012-09-18T19:34:47.950 回答