Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
оно не то, чтоб лишнее, это просто аналогичная версия от микрософта, но она может и не работать
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
В инете наткнулся, что jdbc работает медленнее. А при одновременном подключении к локальной базе и серверу конфликтов не будет?
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
ты все какие-то теории выдвигаешь, сам и проверь ))Vovich писал(а):В инете наткнулся, что jdbc работает медленнее. А при одновременном подключении к локальной базе и серверу конфликтов не будет?
а насчет медленности - у меня с сервера 100 тыс записей скачивается за несколько секунд, все остальное время запись в локалку фурычит.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
2Foenix
синтаксис работы с хранимыми процедурами для этого драйвера можешь показать?
синтаксис работы с хранимыми процедурами для этого драйвера можешь показать?
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Привет! А что там показывать? посылай им точно так же "exec" и дело с концом.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- mozilalvfg
- Сообщения: 85
- Зарегистрирован: 10 авг 2013, 18:46
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Пример работающего кода для подключения к внешней базе MySql
Должны быть выполнены условия:
1. на стороне сервера создан пользователь с привелегиями подключения с любого IP
для незнающих http://howto.memcrab.com/2012/01/mysql.html
2. в AndroidManifest.xml добавить
<uses-permission android:name="android.permission.INTERNET"/>
для незнающих секция <uses-sdk должа виглядеть так
3. Подключений драйвер mysql-connector-java-5.1.26-bin.jar
Теперь сам код в главном MyActivity.java
P.S. подключаться обязательно надо в другом потоке иначе работать не будет!!!
Должны быть выполнены условия:
1. на стороне сервера создан пользователь с привелегиями подключения с любого IP
для незнающих http://howto.memcrab.com/2012/01/mysql.html
2. в AndroidManifest.xml добавить
<uses-permission android:name="android.permission.INTERNET"/>
для незнающих секция <uses-sdk должа виглядеть так
Код: Выделить всё
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET"/>Теперь сам код в главном MyActivity.java
Код: Выделить всё
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicReference;
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Создаём обязательно отдельний поток
AtomicReference<Thread> myThready = new AtomicReference<Thread>(new Thread(new Runnable() { //подготовливаем отдельний поток
public void run() //Этот метод будет выполняться в побочном потоке
{
try {
testsql();
Log.d("myLogs", "все прошло хорошо");
} catch (SQLException e) {
Log.d("myLogs", "Мать его неполучилось!!!!!!!!!");
e.printStackTrace();
}
}
}));
myThready.get().start(); //Запуск отдельного потока
Log.d("myLogs", "Отдельний поток завершён...");
}
protected static void testsql() throws SQLException {
Connection con = null;
Properties properties = new Properties();
properties.setProperty("user", "sss"); //sss - пользователь MySql созданий ранее
properties.setProperty("password", "1024"); // 1024 - пароль пользователя
properties.setProperty("useUnicode", "true");
properties.setProperty("characterEncoding", "UTF-8");
properties.setProperty("autoReconnect", "true");
try {
Class.forName("com.mysql.jdbc.Driver");
Log.d("myLogs", "драйвер загрузили ");
} catch (ClassNotFoundException e) {
Log.d("myLogs", "драйвер незагрузили ");
e.printStackTrace();
}
Log.d("myLogs", "подключаемся ");
// подключение к удалёному серверу mysql
con = (Connection) DriverManager.getConnection("jdbc:mysql://16.31.167.34:3306/db", properties); //db - имя вашей базы
Log.d("myLogs", "подключились! ");
}
}Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE

____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE

Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
и не только подключение, но и вся работа с удаленной бд должна быть в потоке, отличном от UI
и насчет 1 пункта могу поспорить. Нужно, чтобы на стороне сервера обязательно фильтровался траффик по IP, а клиенты должны иметь постоянный IP
Это хотя бы.
и насчет 1 пункта могу поспорить. Нужно, чтобы на стороне сервера обязательно фильтровался траффик по IP, а клиенты должны иметь постоянный IP
Это хотя бы.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- mozilalvfg
- Сообщения: 85
- Зарегистрирован: 10 авг 2013, 18:46
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
А как можно организовать постоянный IP клиентам, если топология программки такаяFoenix писал(а):и не только подключение, но и вся работа с удаленной бд должна быть в потоке, отличном от UI
и насчет 1 пункта могу поспорить. Нужно, чтобы на стороне сервера обязательно фильтровался траффик по IP, а клиенты должны иметь постоянный IP
Это хотя бы.
Сервер MySQL 5.5 на Ubuntu 12.04 к нему конектяться с PC, Android, iOS . Естесвено в таком варианте не может быть статического IP. Я организовал автоматическое создание юзера MySQL на основе DeviceID а в случаи PC мак адрес сетевой платы, с правами только на базу с которой работают клиенты.
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE

____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE

Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
постоянный айпи организовывается через провайдера интернет за дополнительную плату
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- mozilalvfg
- Сообщения: 85
- Зарегистрирован: 10 авг 2013, 18:46
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Думаю такой функции на 3G интернете нет.Foenix писал(а):постоянный айпи организовывается через провайдера интернет за дополнительную плату
Из средств, расширяющих сознание, я признаю только книги и немного пива!
____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE

____________________________________________________________________
IntelliJ IDEA 12. Win 7 x64 sp1
KSWEB: сервер + PHP + MySQL FREE

Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
есть.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
т.е. нельзя вызывать данные по мере их надобности? например кликнул кнопку - запрос следующего меню?Foenix писал(а):не только подключение, но и вся работа с удаленной бд должна быть в потоке, отличном от UI
неужели при старте придётся всю базу в память считывать? это же изврат
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
изврат! не в память , а в локальную бд.
Вот поэтому я считываю данные в локальную бд и оттуда "по клику на кнопку" беру данные. Таким образом имею 1)синхронизацию с удаленной бд и 2)работу с локальной бд
Вообще это от задачи зависит. Если у тебя так не получается по логике, то и про это соединение лучше не реализовывать, делай через Http запросы, парси, распрарсивай и так далее)
Вот поэтому я считываю данные в локальную бд и оттуда "по клику на кнопку" беру данные. Таким образом имею 1)синхронизацию с удаленной бд и 2)работу с локальной бд
Вообще это от задачи зависит. Если у тебя так не получается по логике, то и про это соединение лучше не реализовывать, делай через Http запросы, парси, распрарсивай и так далее)
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
а если у меня bd изначально локальная?Foenix писал(а):Вот поэтому я считываю данные в локальную бд и оттуда "по клику на кнопку" беру данные.
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
вот эта строка исходя из чего формируется?Foenix писал(а):и у тебя странная строка подключения, у меня такая:Код: Выделить всё
"jdbc:jtds:sqlserver://" + sServerName + "/" + sDBName;
что за sqlserver, откуда берется sServerName?
у меня установлен xampp с mysql
my.ini
Код: Выделить всё
[client]
port = 3306
socket = "C:/xampp/mysql/mysql.sock"
[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql"
tmpdir = "C:/xampp/tmp"
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
key_buffer = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log_error = "mysql_error.log"
plugin_dir = "C:/xampp/mysql/lib/plugin/"
skip-federated
server-id = 1
innodb_data_home_dir = "C:/xampp/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp/mysql/data"
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
"jdbc:jtds:mysql://" + sServerName + "/" + sDBName; ?
а sServerName откуда брать?
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Посмотри тема есть подключение к mysql, там строку подключения приводили полностью
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Проблема в итоге останется, даже если подключусь, как я понимаю
база то локальная! не буду же я потом на устройстве mysql server эмулировать
или я недопонимаю логику работы
база то локальная! не буду же я потом на устройстве mysql server эмулировать
или я недопонимаю логику работы
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
Извини, я с mysql не работала, что представляет там из себя база данных - такой же файл, как и sqlite? Если файл - я понимаю. А если нет, то не понимаю как она может оказаться локальной. Давай разберемся.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
да, конечно, обычный файлFoenix писал(а):Извини, я с mysql не работала, что представляет там из себя база данных - такой же файл, как и sqlite? Если файл - я понимаю. А если нет, то не понимаю как она может оказаться локальной. Давай разберемся.
Re: Подключение к БД через net.sourceforge.jtds.jdbc.Driver
обычно, если сервер бд находится на том же компьютере, что и клиент, он использует localhost в строке подключения вместо адреса. Пробовал? типа того "jdbc:mysql://localhost:3306/contacts"
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198