我在Windows上使用远程4D v11数据库和ODBC 4D驱动程序来访问和读取数据。 问题是关于表的某些行:这些行具有以空格字符开头的列。这是打算。
我的java应用程序必须使用第一个空格字符检索这些列。但它不起作用。
ODBC 4D驱动程序工作正常。在Excel中使用Microsoft Query进行测试,阅读 表中的列有第一个空格字符。
在我的java程序中,我使用JDBC ODBC驱动程序(jdk 1.7.0_51)。 open(),Statement,execute()和ResultSet指令或类是标准JDBC。 不幸的是,第一个空格字符在阅读时从未被检索过。
该列被视为CLOB:
int myColumnWithFirstSpace = 5;
ResultSetMetaData rsmd = rs.getMetaData();
String type = rsmd.getColumnTypeName(myColumnWithFirstSpace );
System.out.println(type); // print CLOB
唯一支持的类是String:
String text= rs.getString(myColumnWithFirstSpace);
// other types return "Operation not yet supported"
System.out.println(text); // print the content of the column
不幸的是,印刷文本中没有第一个空格字符。 哪里可以出错? 谢谢!
答案 0 :(得分:1)
我能够使用JDBC-ODBC Bridge和Microsoft SQL Server ODBC驱动程序重新创建您的问题。
nvarchar
值时,将保留前导空格。 因此,看起来JDBC-ODBC Bridge不适合您的特定项目,您可能需要找到4D的JDBC驱动程序。您可能想要开始搜索here。