Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Добавлено: 19 апр 2013, 15:50
Пишите, пожалуйста, сюда. Будем друг другу помогать.
Добро пожаловать на форум сайта
http://forum.startandroid.ru/
Код: Выделить всё
04-19 13:49:25.102: W/System.err(345): java.lang.ClassNotFoundException: net.sourceforge.jtds.driver
04-19 13:49:25.112: W/System.err(345): at java.lang.Class.classForName(Native Method)
04-19 13:49:25.112: W/System.err(345): at java.lang.Class.forName(Class.java:234)
04-19 13:49:25.112: W/System.err(345): at java.lang.Class.forName(Class.java:181)
04-19 13:49:25.112: W/System.err(345): at ru.example.east.MainActivity.onCreate(MainActivity.java:63)
04-19 13:49:25.112: W/System.err(345): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-19 13:49:25.112: W/System.err(345): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-19 13:49:25.112: W/System.err(345): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-19 13:49:25.112: W/System.err(345): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-19 13:49:25.112: W/System.err(345): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-19 13:49:25.112: W/System.err(345): at android.os.Handler.dispatchMessage(Handler.java:99)
04-19 13:49:25.112: W/System.err(345): at android.os.Looper.loop(Looper.java:123)
04-19 13:49:25.122: W/System.err(345): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-19 13:49:25.122: W/System.err(345): at java.lang.reflect.Method.invokeNative(Native Method)
04-19 13:49:25.122: W/System.err(345): at java.lang.reflect.Method.invoke(Method.java:507)
04-19 13:49:25.122: W/System.err(345): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-19 13:49:25.122: W/System.err(345): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-19 13:49:25.122: W/System.err(345): at dalvik.system.NativeStart.main(Native Method)
04-19 13:49:25.122: W/System.err(345): Caused by: java.lang.NoClassDefFoundError: net.sourceforge.jtds.driver
04-19 13:49:25.132: W/System.err(345): ... 17 more
04-19 13:49:25.132: W/System.err(345): Caused by: java.lang.ClassNotFoundException: net.sourceforge.jtds.driver in loader dalvik.system.PathClassLoader[/data/app/ru.example.east-2.apk]
04-19 13:49:25.132: W/System.err(345): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
04-19 13:49:25.132: W/System.err(345): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
04-19 13:49:25.132: W/System.err(345): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
04-19 13:49:25.132: W/System.err(345): ... 17 more
Код: Выделить всё
package ru.test.mysqltest;
import java.sql.*;
import java.sql.Connection;
import java.sql.SQLException;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
Button input, base;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input = (Button) findViewById(R.id.btncon);
input.setOnClickListener(this);
base = (Button) findViewById(R.id.btnbase);
base.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btncon:
connect();
break;
case R.id.btnbase:
connectbase();
break;
default:
break;
}
}
void connect() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Log.d("My logs", "Подключили драйвер!");
}
catch (InstantiationException e) {
Log.d("My logs", "Не подключили драйвер!");
e.printStackTrace();
}
}
void connectbase() {
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://172.16.64.111:1433","user","123");
Log.d("My logs", "Подключилось!");
}
catch (SQLException e) {
e.printStackTrace();
}
try {
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
Код: Выделить всё
04-25 07:41:51.736: WARN/System.err(315): java.sql.SQLException: No suitable driver
04-25 07:41:51.756: WARN/System.err(315): at java.sql.DriverManager.getConnection(DriverManager.java:187)
04-25 07:41:51.756: WARN/System.err(315): at java.sql.DriverManager.getConnection(DriverManager.java:214)
04-25 07:41:51.756: WARN/System.err(315): at ru.test.mysqltest.MainActivity.connectbase(MainActivity.java:80)
04-25 07:41:51.756: WARN/System.err(315): at ru.test.mysqltest.MainActivity.onClick(MainActivity.java:48)
04-25 07:41:51.756: WARN/System.err(315): at android.view.View.performClick(View.java:2485)
04-25 07:41:51.756: WARN/System.err(315): at android.view.View$PerformClick.run(View.java:9080)
04-25 07:41:51.756: WARN/System.err(315): at android.os.Handler.handleCallback(Handler.java:587)
04-25 07:41:51.756: WARN/System.err(315): at android.os.Handler.dispatchMessage(Handler.java:92)
04-25 07:41:51.756: WARN/System.err(315): at android.os.Looper.loop(Looper.java:123)
04-25 07:41:51.756: WARN/System.err(315): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-25 07:41:51.756: WARN/System.err(315): at java.lang.reflect.Method.invokeNative(Native Method)
04-25 07:41:51.766: WARN/System.err(315): at java.lang.reflect.Method.invoke(Method.java:507)
04-25 07:41:51.766: WARN/System.err(315): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-25 07:41:51.766: WARN/System.err(315): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-25 07:41:51.766: WARN/System.err(315): at dalvik.system.NativeStart.main(Native Method)
04-25 07:41:51.766: DEBUG/AndroidRuntime(315): Shutting down VM
04-25 07:41:51.766: WARN/dalvikvm(315): threadid=1: thread exiting with uncaught exception (group=0x40015560)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): FATAL EXCEPTION: main
04-25 07:41:51.776: ERROR/AndroidRuntime(315): java.lang.NullPointerException
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at ru.test.mysqltest.MainActivity.connectbase(MainActivity.java:88)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at ru.test.mysqltest.MainActivity.onClick(MainActivity.java:48)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at android.view.View.performClick(View.java:2485)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at android.view.View$PerformClick.run(View.java:9080)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at android.os.Handler.handleCallback(Handler.java:587)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at android.os.Handler.dispatchMessage(Handler.java:92)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at android.os.Looper.loop(Looper.java:123)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at java.lang.reflect.Method.invokeNative(Native Method)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at java.lang.reflect.Method.invoke(Method.java:507)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-25 07:41:51.776: ERROR/AndroidRuntime(315): at dalvik.system.NativeStart.main(Native Method)
04-25 07:41:51.796: WARN/ActivityManager(61): Force finishing activity ru.test.mysqltest/.MainActivity
04-25 07:41:52.307: WARN/ActivityManager(61): Activity pause timeout for HistoryRecord{4069fd78 ru.test.mysqltest/.MainActivity}
04-25 07:41:54.186: INFO/Process(315): Sending signal. PID: 315 SIG: 9
04-25 07:41:54.219: INFO/ActivityManager(61): Process ru.test.mysqltest (pid 315) has died.
04-25 07:41:54.219: ERROR/InputDispatcher(61): channel '40683f40 ru.test.mysqltest/ru.test.mysqltest.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8
04-25 07:41:54.219: ERROR/InputDispatcher(61): channel '40683f40 ru.test.mysqltest/ru.test.mysqltest.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
04-25 07:41:54.256: INFO/WindowManager(61): WIN DEATH: Window{40683f40 ru.test.mysqltest/ru.test.mysqltest.MainActivity paused=false}
04-25 07:41:54.276: WARN/InputManagerService(61): Got RemoteException sending setActive(false) notification to pid 315 uid 10005
04-25 07:42:03.346: WARN/ActivityManager(61): Activity destroy timeout for HistoryRecord{4069fd78 ru.test.mysqltest/.MainActivity}
Код: Выделить всё
"jdbc:jtds:sqlserver://" + sServerName + "/" + sDBName;Код: Выделить всё
public void query2()
{
Log.i("Android"," MySQL Connect Example.");
Connection conn = null;
try {
String driver = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver).newInstance();
Log.i("myAndroid"," class_for_name");
/* String connString = "jdbc:jtds:sqlserver://localhost:1433/Vova1;encrypt=fasle;instance=SQLEXPRESS;";
String username = "";
String password = "";
conn = DriverManager.getConnection(connString,username,password);
Log.w("Connection","open");
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("select * from myTable");
//Print the data to the console
while(reset.next()){
Log.w("Data:",reset.getString(1));
}
conn.close();*/
}
catch (Exception e) {
Log.w("Error my connection","" + e.getMessage());
}
}