无法找到UCanAccess 4.0.2大写列名称

时间:2017-07-18 18:29:17

标签: java ucanaccess columnname

在我的java程序中,我想使用UCanAccess查询* .mdb中的一些列。但是,某些字符似乎是错误的,因为它将所有列名称转换为大写。例如,在一个平台上,列名egitim以大写字母变为ÈGITIM,而在另一个平台上,它变为ÈGİTİM。我希望我的程序与平台无关。 但是,如果我在查询中写egitim,它在第一个平台上正常工作,我在第二个平台上收到错误。如果我这次写EGİTİM它在第一个平台上不起作用。有没有办法以编程方式设置UCanAccess的字符集?

您可以看到以下代码:

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。但其中一个是土耳其语,另一个是英语。 (土耳其语大写字母i是İ。

1 个答案:

答案 0 :(得分:0)

这是UCanAccess 4.0.2及更早版本的已知问题。所需的修复程序已合并到主分支中,并将包含在下一版本的UCanAccess中。