Jessica
Jessica

Reputation: 1723

ODBC Connection Setup in Java

I want to write a Java program that automates the work that the ODBC Data Source Administrator does in Windows.

That is, given an ODBC connection name and a path to the database on the hard drive, I want it to create the connection.

I really have no idea where to even begin with this. I looked at this but it said it was for C and I don't think that's very helpful. If anyone could point me in the right direction for this at all, I would appreciate it.

(I realize this question is REALLY vague, but that's all the information I was given.)

Upvotes: 1

Views: 28032

Answers (6)

0x0BADC0DE
0x0BADC0DE

Reputation: 1

I've never had to connect to MS SQL Server before. I've always used DB2 or Derby, MYSQL and everything was always the same for creating a connection. This is what I had to do for 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);

Upvotes: 0

Subhamay
Subhamay

Reputation: 325

Check this one out.. Java Database Connectivity (JDBC) supports ODBC-based databases and provides a independent database.

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


    }   

     return connection;

Upvotes: -1

asamir
asamir

Reputation: 1

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 

Upvotes: 0

djangofan
djangofan

Reputation: 29669

The answer to the question is that you don't need a registered DSN.

Here is an example of using a ODBC connection (not JDBC) from Java, using the system ODBC driver. Instead of editing the registry to create a registered DSN, your alternative is to use a un-registered DSN, like so:

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

Or, using SQL Server:

Driver=sun.jdbc.odbc.JdbcOdbcDriver
Source=jdbc:odbc:Driver={SQL Server};SERVER=127.1;DATABASE=MyDB;UID=sa;PWD=mypass

Upvotes: 3

Michał Niklas
Michał Niklas

Reputation: 54292

All ODBC configuration is in Windows registry or odbc.ini in Linux (I haven't used ODBC on other platforms). At first you must create such configuration using ODBC manager, then check what was saved in configuration and write program that do the same. If you work with Windows 32 bit, then check registry at HKEY_LOCAL_MACHINE\SOFTWARE\ODBC. Windows 64 bit have different configurations for 32 bit apps and 64 bit apps (just look for odbc.ini string in registry).

I think Java is not the best language to change something in Windows registry, but with Java you can create .reg text file that can be imported by regedit.exe, or you can use other language like Python with win32 extensions (Active Python has it by default).

Upvotes: 2

Jeremy
Jeremy

Reputation: 22415

You will want to look into using JDBC.

Upvotes: 1

Related Questions