Android Studio 与 SQL Server Management Studio 的连接问题

问题描述 投票:0回答:0

我看过很多视频和我尝试过的所有方法,当我尝试连接到数据库时仍然遇到同样的问题。我还导入了

jtds.jar
文件,并将互联网权限放在 AndroidManifest 中。

我创建了一个名为

ConnectionHelper
的不同类来建立连接

ConnectionHelper
课是这里

package com.example.myapplication;

import static java.sql.DriverManager.getConnection;

import android.annotation.SuppressLint;
import android.os.StrictMode;
import android.util.Log;

import java.sql.Connection;
import java.sql.DriverManager;

public class ConnectionHelper {
    Connection con;
    String uname, pass, ip , port,database;
    @SuppressLint("NewApi")

    public Connection connectionclass(){

        ip="111.111.111";
        database="HRDB";
        uname = "javauser";
        pass="java1234";
        port="1433";

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

        Connection connection = null;
        String ConnectionURL = null;


        try
        {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            ConnectionURL = "jdbc:jtds:sqlserver://"+ip+":"+port+";"+"databasename="+database+";user"+uname+";password="+pass+";";
            connection = DriverManager.getConnection(ConnectionURL);
        }
        catch (Exception ex){
            Log.e("Error ",ex.getMessage());
        }

        return connection;
    }
}

然后我就这样做了,当我按下一个按钮时,我连接到服务器

ConnectionHelper connectionHelper = new ConnectionHelper();
                connect = connectionHelper.connectionclass();

我得到的错误是这个

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.myapplication, PID: 28920
    java.lang.NoClassDefFoundError: Failed resolution of: Lorg/ietf/jgss/GSSManager;
        at net.sourceforge.jtds.jdbc.TdsCore.createGssToken(TdsCore.java:4400)
        at net.sourceforge.jtds.jdbc.TdsCore.sendMSLoginPkt(TdsCore.java:1971)
        at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:617)
        at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:371)
        at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
        at java.sql.DriverManager.getConnection(DriverManager.java:580)
        at java.sql.DriverManager.getConnection(DriverManager.java:236)
        at com.example.myapplication.ConnectionHelper.connectionclass(ConnectionHelper.java:36)
        at com.example.myapplication.FirstFragment$2.onClick(FirstFragment.java:68)
        at android.view.View.performClick(View.java:7441)
        at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1131)
        at android.view.View.performClickInternal(View.java:7418)
        at android.view.View.access$3700(View.java:835)
        at android.view.View$PerformClick.run(View.java:28676)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "org.ietf.jgss.GSSManager" on path: DexPathList[[dex file "/data/data/com.example.myapplication/code_cache/.overlay/base.apk/classes4.dex", zip file "/data/app/~~rSBt1uL50wYO6UYTo6DpzQ==/com.example.myapplication-hBGQc_4pRDKIKHNAX7ORPg==/base.apk"],nativeLibraryDirectories=[/data/app/~~rSBt1uL50wYO6UYTo6DpzQ==/com.example.myapplication-hBGQc_4pRDKIKHNAX7ORPg==/lib/x86_64, /system/lib64, /system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at net.sourceforge.jtds.jdbc.TdsCore.createGssToken(TdsCore.java:4400) 
        at net.sourceforge.jtds.jdbc.TdsCore.sendMSLoginPkt(TdsCore.java:1971) 
        at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:617) 
        at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:371) 
        at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184) 
        at java.sql.DriverManager.getConnection(DriverManager.java:580) 
        at java.sql.DriverManager.getConnection(DriverManager.java:236) 
        at com.example.myapplication.ConnectionHelper.connectionclass(ConnectionHelper.java:36) 
        at com.example.myapplication.FirstFragment$2.onClick(FirstFragment.java:68) 
        at android.view.View.performClick(View.java:7441) 
        at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1131) 
        at android.view.View.performClickInternal(View.java:7418) 
        at android.view.View.access$3700(View.java:835) 
        at android.view.View$PerformClick.run(View.java:28676) 
        at android.os.Handler.handleCallback(Handler.java:938) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loopOnce(Looper.java:201) 
        at android.os.Looper.loop(Looper.java:288) 
        at android.app.ActivityThread.main(ActivityThread.java:7839) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 
sql-server android-studio database-connection
© www.soinside.com 2019 - 2024. All rights reserved.