Как подключить SQL Server с помощью драйвера JTDS в Android - PullRequest
3 голосов
/ 03 октября 2011

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

Thnx заранее ...

Ответы [ 4 ]

6 голосов
/ 22 ноября 2012

Получение ошибки «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 и ее импорт;и проблема решена.

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

3 голосов
/ 03 октября 2011

Странно, что на сайте jTDS нет примера кода. Я нашел это, это может быть полезно:

http://www.java -tips.org / другие-API-советы / JDBC / как к подсоединению-Microsoft-SQL-сервера с использованием-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();
        }
    }
};

EDIT:
Вы получите исключение 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 (с учетом регистра, я думаю)

0 голосов
/ 27 мая 2013
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.

0 голосов
/ 30 июля 2012

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

Я попытался и успешно подключился к моему SQL Server.

...