私のJavaプログラムでは、UCanAccessを使用して* .mdbの列を照会したいと考えています。ただし、一部の文字はすべての列名を大文字に変換するため、間違っているように見えます。たとえば、あるプラットフォームでは、列名egitim
は大文字でÈGITIM
になり、別のプラットフォームではÈGİTİM
になります。自分のプログラムがプラットフォームに依存しないようにしたい。 しかし、クエリにegitim
と書き込むと、最初のプラットフォームで正常に動作しており、2番目のプラットフォームでエラーが発生しています。今度はEGİTİM
と書くと、最初のプラットフォームでは動作しません。プログラムでUCanAccessの文字セットを設定する方法はありますか?UCanAccess 4.0.2の大文字の列名が見つかりません
あなたは以下のコードを見ることができます:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
Connection conn = DriverManager.getConnection(JAtama.url);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select distinct egitim from dersler");
最後の行がnet.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.2 user lacks privilege or object not found: EGITIM
例外を提供します。
どちらのプラットフォームもmacOS Sierraです。しかし、そのうちの1つはトルコ語で、もう1つは英語です。 (トルコ語の大文字で私がある。
コードを表示して、人々が問題を再現できるようにしてください。 – 4castle
UCanAccess 4.0.2でこの問題を再現でき、それをUCanAccess開発チームに報告しました。 –