Настройка соединения ODBC в Java - PullRequest
1 голос
/ 24 марта 2010

Я хочу написать программу на Java, которая автоматизирует работу, выполняемую администратором источника данных ODBC в Windows.

То есть, учитывая имя соединения ODBC и путь к базе данных на жестком диске, я хочу, чтобы оно создавало соединение.

Я действительно понятия не имею, с чего начать. Я посмотрел на это , но там говорилось, что это для Си, и я не думаю, что это очень полезно. Если бы кто-нибудь вообще мог указать мне правильное направление, я был бы признателен.

(Я понимаю, что этот вопрос ДЕЙСТВИТЕЛЬНО расплывчат, но это вся информация, которую мне дали.)

Ответы [ 7 ]

3 голосов
/ 29 июня 2011

Ответ на вопрос: вам не нужен зарегистрированный DSN.

Вот пример использования соединения ODBC (не JDBC) из Java с использованием системного драйвера ODBC. Вместо того, чтобы редактировать реестр для создания зарегистрированного DSN, вы можете использовать незарегистрированный DSN, например:

Driver=sun.jdbc.odbc.JdbcOdbcDriver
Source=jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Dir/DB/MyDB.mdb;

Или, используя SQL Server:

Driver=sun.jdbc.odbc.JdbcOdbcDriver
Source=jdbc:odbc:Driver={SQL Server};SERVER=127.1;DATABASE=MyDB;UID=sa;PWD=mypass
1 голос
/ 24 марта 2010

Все настройки ODBC находятся в реестре Windows или odbc.ini в Linux (я не использовал ODBC на других платформах). Сначала вы должны создать такую ​​конфигурацию с помощью диспетчера ODBC, затем проверить, что было сохранено в конфигурации, и написать программу, которая делает то же самое. Если вы работаете с 32-битной Windows, проверьте реестр в HKEY_LOCAL_MACHINE\SOFTWARE\ODBC. В 64-битной Windows есть разные конфигурации для 32-битных и 64-битных приложений (просто найдите строку odbc.ini в реестре).

Я думаю, что Java не лучший язык для изменения чего-либо в реестре Windows, но с помощью Java вы можете создать .reg текстовый файл, который можно импортировать с помощью regedit.exe, или вы можете использовать другой язык, например Python, с расширениями win32 Активный Python имеет его по умолчанию).

1 голос
/ 24 марта 2010

Вы захотите изучить использование JDBC .

0 голосов
/ 08 марта 2016

Раньше мне никогда не приходилось подключаться к MS SQL Server. Я всегда использовал DB2 или Derby, MYSQL, и все было одинаково для создания соединения. Это то, что я должен был сделать для SQL Server.

private final String driver = "sun.jdbc.odbc.JdbcOdbcDriver";

Class.forName(driver);

url="jdbc:odbc:;DRIVER={SQL Server};SERVER="+server+","+port+";DATABASE="+dbName;
connection = DriverManager.getConnection(url,user,password);
0 голосов
/ 30 декабря 2012
String driver ="sun.jdbc.odbc.JdbcOdbcDriver"
String url = "jdbc:odbc:Driver={Microsoft Access Text Driver (*.txt, *.csv)};DBQ=C:/CSVFolder

query = select * from myfile.csv 
0 голосов
/ 22 марта 2012

Проверьте это .. Java Database Connectivity (JDBC) поддерживает базы данных на основе ODBC и предоставляет независимую базу данных.

 Connection connection = null;
     try {
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        connection = DriverManager.getConnection("connection string", "userName", "password" );
    } catch (SQLException e) {


    }   

     return connection;
0 голосов
/ 24 марта 2010

Извлечение Мост JDBC в ODBC .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...