Android 无法使用jdts远程访问SQL server服务器

Android 无法使用jdts远程访问SQL server服务器,android,jtds,Android,Jtds,我读了一些关于jdts.jar库的文章,然后我想将它实现到android应用程序中,已经做了一些编码,但我总是无法连接到数据库sql server。 我第一次尝试使用Navicat SQL浏览器进行远程访问,我可以连接它,但当我使用android编码时,我无法连接它。已经检查了ip公共、用户名、密码和数据库名,它们与我的android编码相同。这是我的原木猫: 07-20 16:32:49.270 31447-31447/? E/AndroidRuntime? FATAL EX

我读了一些关于jdts.jar库的文章,然后我想将它实现到android应用程序中,已经做了一些编码,但我总是无法连接到数据库sql server。 我第一次尝试使用Navicat SQL浏览器进行远程访问,我可以连接它,但当我使用android编码时,我无法连接它。已经检查了ip公共、用户名、密码和数据库名,它们与我的android编码相同。这是我的原木猫:

        07-20 16:32:49.270  31447-31447/? E/AndroidRuntime? FATAL EXCEPTION: main
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.avian.apps.avian/com.avian.apps.avian.LoginActivity}: android.os.NetworkOnMainThreadException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2186)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
        at android.app.ActivityThread.access$600(ActivityThread.java:145)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5099)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:803)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
        at dalvik.system.NativeStart.main(Native Method)
        Caused by: android.os.NetworkOnMainThreadException
        at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1118)
        at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
        at libcore.io.IoBridge.connectErrno(IoBridge.java:131)
        at libcore.io.IoBridge.connect(IoBridge.java:116)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
        at java.net.Socket.connect(Socket.java:847)
        at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:288)
        at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:251)
        at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:331)
        at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
        at java.sql.DriverManager.getConnection(DriverManager.java:175)
        at java.sql.DriverManager.getConnection(DriverManager.java:209)
        at com.avian.apps.avian.ConnectionClass.getConnection(ConnectionClass.java:25)
        at com.avian.apps.avian.LoginActivity.onCreate(LoginActivity.java:36)
        at android.app.Activity.performCreate(Activity.java:5117)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2150)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
        at android.app.ActivityThread.access$600(ActivityThread.java:145)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5099)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:803)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
        at dalvik.system.NativeStart.main(Native Method)
谁能帮我解决这个问题?
提前感谢

在建立连接之前先拨打此电话

        Log.i("Android", " MySQL Connect.");
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
请参阅更新的函数

 public Connection getConnection() throws SQLException {
        Log.i("Android", " MySQL Connect.");
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
        if (connect == null) {
            try {
                Class.forName(driverName);
                try {
                    connect = DriverManager.getConnection(url, username, password);
                    Log.d("Success", "notifmessage");
                } catch (SQLException se) {
                    Log.d("Failed", "notifmessage");
                }
            } catch (ClassNotFoundException cnfe) {
                Log.d("Class not found " + cnfe, "notifmessage");
            }
        }
        return connect;
    }
更新:

我的工作代码注意我正在使用较旧版本的jar
jtds 1.2.7
文件,该文件与最新版本有问题


接通前先打这个电话

        Log.i("Android", " MySQL Connect.");
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
请参阅更新的函数

 public Connection getConnection() throws SQLException {
        Log.i("Android", " MySQL Connect.");
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
        if (connect == null) {
            try {
                Class.forName(driverName);
                try {
                    connect = DriverManager.getConnection(url, username, password);
                    Log.d("Success", "notifmessage");
                } catch (SQLException se) {
                    Log.d("Failed", "notifmessage");
                }
            } catch (ClassNotFoundException cnfe) {
                Log.d("Class not found " + cnfe, "notifmessage");
            }
        }
        return connect;
    }
更新:

我的工作代码注意我正在使用较旧版本的jar
jtds 1.2.7
文件,该文件与最新版本有问题


同样的结果,兄弟,failedit并没有再次说严格模式错误,但仍然无法连接到服务器,@Agongliu善意地重播您得到的任何结果!抱歉Sohail仍然相同无法连接您是否已降级库jar?logact现在在说什么?同样的结果,兄弟,failedit没有再说严格模式错误,但仍然无法连接到服务器,@Agongliu善意地重播您得到的任何结果!抱歉Sohail仍然相同无法连接您是否已降级库jar?logact现在在说什么?