我是 android 新手。我想使用 JTDS 驱动程序连接 sql server。谁能告诉我..
thnx提前...
在 ANDROID 上使用 JTDS 直接访问 SQLSERVER 时出现错误“ClassNotFoundException”?
3 小时 RND 后,寻找解决上述相同错误的方法。我没有得到代码中没有错误,而且我已经正确导入“jtds-1.3.0”库继续调试代码仍然一次又一次地得到同样的错误。
{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection(
db_connect_string, db_userid, db_password);
}
我尝试了替代方案,换线
...... Class.forName("net.sourceforge.jtds.jdbc.Driver");
到
...... (new Driver()).getClass();
...... (new Driver())
当我尝试所有这些时,我认为 jtds-1.3.0 库可能有问题,而我所做的只是下载旧版本的 jtds-1.2.5 并导入它;问题解决了。
所以,朋友们如果你遇到同样的错误并且已经尝试了不同的方法,试试这个。
奇怪的是 jTDS 网站上没有示例代码。我发现了这个,它可能会有所帮助:
http://www.java-tips.org/other-api-tips/jdbc/how-to-connect-microsoft-sql-server-using-jdbc-3.html
import java.sql.*;
public class testConnection
{
public static void main(String[] args)
{
DB db = new DB();
db.dbConnect("jdbc:jtds:sqlserver://localhost:1433/tempdb","sa","");
}
}
class DB
{
public DB() {}
public voidn dbConnect(String db_connect_string, String db_userid, String db_password)
{
try
{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection(
db_connect_string, db_userid, db_password);
System.out.println("connected");
}
catch (Exception e)
{
e.printStackTrace();
}
}
};
编辑:当你的主类找不到时,
你会得到异常。在确保它们正确ClassNotFoundException
时找到以下几行:AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ezee.app"
/*...*/
<activity android:name=".connect12"
还要确保该类存在于your_project_folder/src/com/ezee/app/connect12
(我认为区分大小写)
根据我的经验,如果您使用 Android 与 SQL Server 的独立安装,则必须使用 10.0.2.2 地址而不是“localhost”或“127.0.0.1”,根据用于访问 localhost 服务器的 Android 细节。
我试过了,并成功连接到我的 SQL Server。
Exception in thread "main" java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.test.objectref.GroupBy.main(GroupBy.java:12)
为了解决这个问题不得不添加Jtds lib
.