如何使用Ms Acess数据库的jdbc-odbc驱动程序从Ms access(.accdb或.mdb)数据库返回特殊字符?
从结果集的字节(bytes[]bt=rs.getbytes(index_of_field)
和新字符串(bt,“UTF-8”)
甚至新字符串(bt,“ISO-8859-1”)
)进行转换或获取字符串(rs.getstring()
)是行不通的,您需要一种有效的方法来完成。
获取特殊字符的方法如下(其他一些特殊字符也可能会成功返回,但是,还没有分析这种情况):
并正确格式化所有返回的字符串(我指的是查询的字段),必须遵循以下过程。
Properties props;
props = new Properties();
props.put ("charSet", "iso-8859-1");
String dbPath = "C:/example/directory/myDatabase.accdb";
Properties props;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String connURL="jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+dbPath;
try {
props = new Properties();
props.put ("charSet", "iso-8859-1");
con = DriverManager.getConnection(connURL, props);
stmt = con.createStatement();
stmt.execute("select "field+" from "+tableName); // query exec
rs = stmt.getResultSet(); // query resultset
rsMetaData = rs.getMetaData(); // resultset metadata
} catch (SQLException ex) {
return false;
}
String resultString;
if( rs != null){
while( rs.next() ){ // this while may be surrounded with a try-catch
// Fields will be displayed for every row in the DB
// indexField must start from 1 !
for (int indexField = 1; indexField<=rsMetaData.getColumnCount(); indexField++){
resultString = rs.getString(field_index);
System.out.println(This is the field of column number "+indexField+": "+resultString);
} // for close
} // while close
} // if close
我有一个java程序正在使用HortonWorks的JDBC驱动程序连接到VirtualBox中的数据库。一切都运行得很好,但我在sql查询中的冒号有问题。 我正在尝试设置的rowid是“:rowid:”。我在前面和后面添加冒号,使列名对于其他应用程序是唯一的。现在冒号必须在那里,我想知道是否有一种方法使用官方站点的Hortonworks JDBC Driver for Apache Hive(v
问题内容: 我目前正在为大学的一个班级做项目。我正在学习有关连接和操作数据库的信息,我们正在使用Microsoft .accdb文件。 这是我到目前为止所拥有的。 当寻找“ sun.jdbc.odbc.JdbcOdbcDriver”时,我得到以下输出。 似乎很容易解决。看来我想念司机或类似的东西。但是,我很难找到解决方法。JDK随附驱动程序吗?我需要单独下载吗?是否取决于我的操作系统?(Mac O
我使用HtmlCleaner库来解析/转换java中的HTML文件。 似乎无法处理像“Áák NUÍíNU NU NU NU NU”这样的西班牙语字符 我可以在HtmlCleaner中设置任何属性来处理此解决方案或任何其他解决方案吗?这是我用来调用它的代码:
我有以下selenium脚本,等待页面加载并查找元素。在检索到元素之后,我想关闭驱动程序,这样我的ram就会被释放,但是整个程序以结束,这意味着驱动程序在不适当的时间被关闭。我如何正确关闭我的驱动程序后,我想要的信息?
问题内容: 我在页面上添加了一个简单的排序。这个想法是搜索产品。这些产品是用西班牙语编写的,带有口音。例如:“Jamón”。 这是我的代码: 我唯一的问题是您必须输入“Jamón”才能找到产品“Jamón”。我想要的是更加灵活,如果用户键入“ Jamon”,则结果必须包含“Jamón”。 如何使用角度过滤器进行搜索而忘记重音符号?任何想法? 提前致谢。 问题答案: 您需要创建一个过滤器功能(或完整
我需要将升级到。 Microsoft网站有以下信息: sqljdbc41.jar ;类库提供了对JDBC4.0 API的支持。它包括JDBC4.0驱动程序的所有特性以及JDBC4.0 API方法。不支持JDBC 4.1(将引发异常“SQLFeaturenotSupportedException”)。 因此,已经在java中运行的JDBC API将正常工作。 但是,Microsoft ODBC驱动程