UCanAccess 4.0.2无法找到大写字母名称

问题描述:

在我的java程序中,我想使用UCanAccess查询* .mdb中的某些列。但是,有些字符看起来不对,因为它将所有列名转换为大写字母。例如,在一个平台上,列名egitim以大写字母变成ÈGITIM,而在另一个平台上变成ÈGİTİM。我希望我的程序能够独立于平台。 但是,如果我在我的查询中写入egitim,则它在第一个平台上正常工作,并且在第二个平台上出现错误。如果我这次写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。但其中一个是土耳其语,另一个是英语。 (在土耳其语大写字母i为一。

+0

请显示您的代码,以便人们可以复制此问题。您还可以指定您正在使用的平台吗? – 4castle

+0

我能够使用UCanAccess 4.0.2重新创建此问题并将其报告给UCanAccess开发团队。 –

这是UCanAccess 4.0.2及更早版本的已知问题。所需修复已被合并到主分支,将被列入UCanAccess的下一个版本。