Подключение из Android к MS SQL 2008

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Закрыто
Аватара пользователя
MeAnAl
Сообщения: 4
Зарегистрирован: 21 сен 2013, 18:19

Подключение из Android к MS SQL 2008

Сообщение MeAnAl » 21 сен 2013, 18:37

Здравствуйте!
Под андроид писать только начинаю. Есть задача для реализации: подключатся в БД MS SQL из планшета и менять данные в БД.
Для этого требуется как минимум подключится :)
И с этим проблема. В инете несколько примеров есть.
Но:
1. Я НИКОГДА не писал на Java (пишу более 15 лет на Delphi, SQL, 1C, бейсик, паскаль).
2. Мне пока еще трудно понимать что мне пишет отладчик :)

Вот что я проделал:
1. Скачать jtds-1.3.1.jar и sqljdbc4.jar, положил из в папку "workspace\HelloWord\libs" моего проекта. (может было бы и достаточно и одного из них?)
2. прописал код в проекте:

Код: Выделить всё

package com.example.helloword;

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

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

	final String LOG_TAG = "myLogs";
	TextView tvHello;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		tvHello = (TextView) findViewById(R.id.textView1);
		
		try { 
				Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
		} 
		catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public void OnClick(View v) {
		try {
			Connection conn = null;
			String url = "jdbc:sqlserver://localhost\\SQL2005EXP:1433;DatabaseName=master";
			String name = "user";
			String password = "pass";
			try {
				conn = DriverManager.getConnection(url, name, password);
				Log.d(LOG_TAG, "ура");
			} catch (java.sql.SQLException e) {
				e.printStackTrace();
				Log.d(LOG_TAG, "не ура");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
И не подключается. Подскажите пожалуйста, в чем может быть дело?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Подключение из Android к MS SQL 2008

Сообщение rezak90 » 21 сен 2013, 19:55

может вся проблема в том что в адресе localhost? сервер то не на телефоне находится))
R.id.team
Политика на форуме запрещена

Аватара пользователя
MeAnAl
Сообщения: 4
Зарегистрирован: 21 сен 2013, 18:19

Re: Подключение из Android к MS SQL 2008

Сообщение MeAnAl » 21 сен 2013, 20:03

String url = "jdbc:sqlserver://192.168.0.1:1433;DatabaseName=master";
И вот так пробовал
Вот лог, может о чем то скажет:

Код: Выделить всё

09-21 17:01:34.910: W/System.err(561): java.sql.SQLException: No suitable driver
09-21 17:01:34.910: W/System.err(561): 	at java.sql.DriverManager.getConnection(DriverManager.java:182)
09-21 17:01:34.920: W/System.err(561): 	at java.sql.DriverManager.getConnection(DriverManager.java:209)
09-21 17:01:34.920: W/System.err(561): 	at com.example.helloword.MainActivity.OnClick(MainActivity.java:45)
09-21 17:01:34.940: W/System.err(561): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-21 17:01:34.940: W/System.err(561): 	at java.lang.reflect.Method.invoke(Method.java:511)
09-21 17:01:34.950: W/System.err(561): 	at android.view.View$1.onClick(View.java:3039)
09-21 17:01:34.950: W/System.err(561): 	at android.view.View.performClick(View.java:3511)
09-21 17:01:34.950: W/System.err(561): 	at android.view.View$PerformClick.run(View.java:14105)
09-21 17:01:34.950: W/System.err(561): 	at android.os.Handler.handleCallback(Handler.java:605)
09-21 17:01:34.950: W/System.err(561): 	at android.os.Handler.dispatchMessage(Handler.java:92)
09-21 17:01:34.950: W/System.err(561): 	at android.os.Looper.loop(Looper.java:137)
09-21 17:01:34.970: W/System.err(561): 	at android.app.ActivityThread.main(ActivityThread.java:4424)
09-21 17:01:34.970: W/System.err(561): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-21 17:01:34.970: W/System.err(561): 	at java.lang.reflect.Method.invoke(Method.java:511)
09-21 17:01:34.970: W/System.err(561): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-21 17:01:34.970: W/System.err(561): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
09-21 17:01:34.970: W/System.err(561): 	at dalvik.system.NativeStart.main(Native Method)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Подключение из Android к MS SQL 2008

Сообщение rezak90 » 21 сен 2013, 20:28

судя по всему не подцепился драйвер... ну здесь нужно звать тётю Инну!
R.id.team
Политика на форуме запрещена

Аватара пользователя
MeAnAl
Сообщения: 4
Зарегистрирован: 21 сен 2013, 18:19

Re: Подключение из Android к MS SQL 2008

Сообщение MeAnAl » 21 сен 2013, 20:33

а это кто ? и как ее позвать, может ритуал особенный какой-то :)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Подключение из Android к MS SQL 2008

Сообщение rezak90 » 21 сен 2013, 20:51

обычно под вечер она появляется, но если постараться и думать всё время о база данных то она придёт поскорее =)
R.id.team
Политика на форуме запрещена

Аватара пользователя
mozilalvfg
Сообщения: 85
Зарегистрирован: 10 авг 2013, 18:46

Re: Подключение из Android к MS SQL 2008

Сообщение mozilalvfg » 21 сен 2013, 23:57

Посмотрите здесь Использование JDBC в Java и mssql + android
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Подключение из Android к MS SQL 2008

Сообщение Foenix » 22 сен 2013, 00:26

rezak90 писал(а):может вся проблема в том что в адресе localhost? сервер то не на телефоне находится))
Слава, "не стыдно"? :o
1. Запуск при обращении к серверу из UI потока.
2 - N Смотри мои месседжи на форуме. Тут уже 100500 раз это обсуждалось, я по буквам все расписывала. Буквально пару дней назад писала про секрет с localhost и так далее.
И подумай, прежде чем делать такое подключение - а оно тебе надо? "а дядя Слава против!!!" (С).
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Подключение из Android к MS SQL 2008

Сообщение rezak90 » 22 сен 2013, 00:42

я ж говорил если её позвать то она придёт :D
Foenix писал(а):
rezak90 писал(а):может вся проблема в том что в адресе localhost? сервер то не на телефоне находится))
Слава, "не стыдно"? :o
нет
Foenix писал(а):И подумай, прежде чем делать такое подключение - а оно тебе надо? "а дядя Слава против!!!" (С).
я решил что уже не буду на такое обращать внимание, сил уже нету на такое.
R.id.team
Политика на форуме запрещена

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Подключение из Android к MS SQL 2008

Сообщение Foenix » 22 сен 2013, 01:02

Ну ты своего добился. Я-то вот была уверена, что МНЕ это надо, но я теперь не уверена, что это надо всем остальным. Я ж не могу за них решать..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
MeAnAl
Сообщения: 4
Зарегистрирован: 21 сен 2013, 18:19

Re: Подключение из Android к MS SQL 2008

Сообщение MeAnAl » 23 сен 2013, 16:39

Всем спасибо за помощь. Проблема решена!

Мои ошибки:
1.

Код: Выделить всё

String url = "jdbc:sqlserver://SERVERNAME:1433;DatabaseName=master";[code]
[/code]
а надо

Код: Выделить всё

String url = "jdbc:jtds:sqlserver://SERVERNAME:1433/master";
2. Подключение организовать в отдельном потоке!!!

С уважением, MeAnAl / Андрей.

Закрыто