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;

しかし、SQuirreLSQLで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 に答える