как подключить sql Server с помощью драйвера JTDS в Android

#android #sql-server #jtds

#Android #sql-сервер #jtds

Вопрос:

я новичок в Android .. я хочу подключить sql server с помощью драйвера JTDS. может кто-нибудь мне сказать..

спасибо заранее…

Комментарии:

1. У меня такая же проблема, вы можете мне помочь?

Ответ №1:

Получение ошибки «ClassNotFoundException» при использовании JTDS на ANDROID для прямого доступа к SQLSERVER?

Через 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 и импортируйте ее; и проблема решена.

Итак, друзья, если вы получаете ту же ошибку и уже пробовали разные способы, попробуйте это.

Комментарии:

1. Обратите внимание, что я попробовал ‘jtds-1.3.0’ и протестировал его, создав JAVA-ПРИЛОЖЕНИЕ, оно работало правильно, но не работало с ANDROID… Я знаю, почему!

2. та же ошибка, что и у меня, я использовал 1.3.0 и сделал так, чтобы приложение Java работало, но не работало на Android, поэтому я загружаю jtds-1.2.5.jar и замените на jtds-1.3.0. и это сработало.

Ответ №2:

Странно, что на веб-сайте 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 (я думаю, чувствителен к регистру)

Ответ №3:

по моему опыту, если вы используете Android с автономной установкой SQL Server, вы должны использовать адрес 10.0.2.2 вместо «localhost» или «127.0.0.1», в соответствии со спецификой Android для доступа к серверам localhost.

Я попробовал это сделать и успешно подключился к моему SQL-серверу.

Ответ №4:

 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 .