我一直在尝试使用在Android应用程序中运行的JTDS 1.3.1.jar驱动程序连接到Sybase SQL Anywhere 11数据库引擎。
我使用Eclipse作为我的IDE并将我的Java虚拟机设置为1.7而不是标准1.6,因为我相信JTDS 1.3只会在该版本中运行。
在我的代码中,我在尝试建立数据库连接时不断收到“java.lang.ClassNotFoundException:net.sourceforge.jtds.jdbc.Driver”。
我已检查过URL连接字符串,但代码甚至没有达到这一点。
我已经检查过相关jar文件是在“项目设置 - Java构建路径”中加载的,两者都在“库”部分中,并且在“订购和导出”中检查它们是否为“构建时间”。
我已经成功连接了jTDS 1.2驱动程序并发出了一个select语句 但是当我执行查询时,会导致“TDS协议错误:无效的数据包类型0x0”错误,因此1.2驱动程序表格数据流和Sybase 11存在问题。
我还尝试了本机Sybase jdbc驱动程序“jconn2.jar& jconn3.jar”,但是这些库引用了Android中似乎不支持的其他类“org.ietf.jgss.GSSManage”。所以这些库无法使用。
我的连接代码如下;
/* Setup Driver Manager - Working JTDS*/
DriverManager.registerDriver((Driver) Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance());
DriverManager.setLoginTimeout(60);
/* Build Connections Working JTDS URL */
URL = "jdbc:jtds:sybase://<ip>:<port>";
/* Set Up Properties */
prop = new Properties();
prop.put("user", "user");
prop.put("password", "pass");
prop.put("instance", "named instance");
prop.put("tds", "5.0");
prop.put("appName", "Android");
/* Attempt to connect to driver. */
Connection conn = DriverManager.getConnection(URL,prop);
非常感谢任何想法或其他合适的Android驱动程序
先谢谢