#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
.