레이블이 jdbc인 게시물을 표시합니다. 모든 게시물 표시
레이블이 jdbc인 게시물을 표시합니다. 모든 게시물 표시

2011년 8월 10일 수요일

JAVA and SQLite


아래를 클릭해서 jar 파일을 다운로드 한다.
http://files.zentus.com/sqlitejdbc/sqlitejdbc-v056.jar

JAVA 클래스패스에 다운로드 jar 파일을 추가한다.
이클립스 환경이라면 Build Path에 추가하던지 Dynamic Web Project라면 WEB-INF/lib에 파일을 복사

테스트 클래스를 만들고 아래 코드를 추가한 다음 실행!
이클립스 환경이라면 F11 누르고 Java Application 실행

*참고 http://www.zentus.com/sqlitejdbc/usage.html


import java.sql.*;

public class Test {
  public static void main(String[] args) throws Exception {
    Class.forName("org.sqlite.JDBC");
    Connection conn =
      DriverManager.getConnection("jdbc:sqlite:test.db");
    Statement stat = conn.createStatement();
    stat.executeUpdate("drop table if exists people;");
    stat.executeUpdate("create table people (name, occupation);");
    PreparedStatement prep = conn.prepareStatement(
      "insert into people values (?, ?);");

    prep.setString(1, "Gandhi");
    prep.setString(2, "politics");
    prep.addBatch();
    prep.setString(1, "Turing");
    prep.setString(2, "computers");
    prep.addBatch();
    prep.setString(1, "Wittgenstein");
    prep.setString(2, "smartypants");
    prep.addBatch();

    conn.setAutoCommit(false);
    prep.executeBatch();
    conn.setAutoCommit(true);

    ResultSet rs = stat.executeQuery("select * from people;");
    while (rs.next()) {
      System.out.println("name = " + rs.getString("name"));
      System.out.println("job = " + rs.getString("occupation"));
    }
    rs.close();
    conn.close();
  }
}


2011년 8월 3일 수요일

JDBC Driver connection URL

/*JDBC Drivers from Microsoft MSSQL Server - jTds*/
url = "jdbc:jtds:sqlserver://host:port/dbname";
driver = "net.sourceforge.jtds.jdbc.Driver";

/*JDBC Drivers from Microsoft MSSQL 2000 */
url = "jdbc:microsoft:sqlserver://host:port";
driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

/*JDBC Drivers from Microsoft MSSQL 2005 */
com.microsoft.sqlserver.jdbc.SQLServerDriver

/* MySQL With MM JDBC */
jdbc driver and url
driver = "org.gjt.mm.mysql.Driver";
url = "jdbc:mysql://localhost/dbname";

/*Sybase jconnect2.jar */
url = "jdbc:sybase:Tds:host:port";
driver = "com.sybase.jdbc2.SybDriver";

/*Oracle JDBC Thin Driver classes12.zip */
url = "jdbc:oracle:thin:@host:port:sid";
driver = "oracle.jdbc.driver.OracleDriver";

/*Oracle OCI Driver classes12.zip*/
url = "jdbc:oracle:thin:@host:port:sid";
driver = "oracle.jdbc.driver.OracleDriver";

/* Oracle 에서 Service Name 을 사용하는 경우 */
jdbc:oracle:thin:@//host_name:port_number/service_name
jdbc:oracle:thin:scott/tiger@//myhost:1521/myservicename

/* OpenBase OpenBaseJDBC.jar (download from www.openbase.com) */
url = "jdbcpenbase://host/database";
driver = "com.openbase.jdbc.ObDriver";

/* MySQL Connector/J from MySql (www.mysql.com)*/
url = "jdbc:mysql://host/database";
driver = "com.mysql.jdbc.Driver";

/*JSQLConnect from JDBC Drivers from Microsoft MSSQL 2000*/
url = "jdbc:microsoft:sqlserver://host:port";
driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

/*DB2 Universal JDBC Driver from IBM
jdbc classes: db2java.zip */
url = "jdbc:db2:host";
driver = "COM.ibm.db2.jdbc.app.DB2Driver";

/*DB2 Universal JDBC Driver from IBM type4
jdbc classes: db2jcc.jar*/
driver = "com.ibm.db2.jcc.DB2Driver"
url = "jdbc:db2://{host}:50000/{database name}"

/*DB2 Universal JDBC Driver from IBM
jdbc classes: db2java.zip */
url = "jdbc:db2://{host}:{port}/{database name}";
driver = "COM.ibm.db2.jdbc.net.DB2Driver";

/*OpenBase5.1 jdbc driver for neusoft
jdbc class: openBASE.jar*/
url = "jdbc:OpenBASE:database"
url = "jdbc:OpenBASE://host/database"
url = "jdbc:OpenBASE://host:port/database"
url = "jdbc:OpenBASE://host:port/database;user=username;password=pwd"
driver = "com.neusoft.OpenBASE.Driver"
( Nov 18 2005, 01:07:47 AM GMT-08:00 ) Permalink Comments [0]

Sunday August 14, 2005
Test Statement for database

In some case, we will want to check database connection is really ok, below sql statement maybe used.

*for MySQL use: select 1

*for PostgreSQL use: select now().

*for Apache Derby use: values 1.

*for HSQL use: call now().

*for SAP DB (MySQL MaxDB) use: select count(*) from versions.

*for Oracle use: select * from dual.

*for Firebird use: select * from rdb$types.

*for InstantDB use: set date format "yyyy/mm/dd".

*for Interbase use: select * from rdb$types.

*for Microsoft SQL server 2000 use: select 1.

2011년 8월 2일 화요일

JDBC connection strings


/*JDBC Drivers from Microsoft MSSQL Server - jTds*/
url = "jdbc:jtds:sqlserver://host:port/dbname";
driver = "net.sourceforge.jtds.jdbc.Driver";

/*JDBC Drivers from Microsoft MSSQL 2000 */
url = "jdbc:microsoft:sqlserver://host:port";
driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

/* MySQL With MM JDBC */
jdbc driver and url
driver = "org.gjt.mm.mysql.Driver";
url = "jdbc:mysql://localhost/dbname";

/*Sybase jconnect2.jar */
url = "jdbc:sybase:Tds:host:port";
driver = "com.sybase.jdbc2.SybDriver";

/*Oracle JDBC Thin Driver classes12.zip */
url = "jdbc:oracle:thin:@host:port:sid";
driver = "oracle.jdbc.driver.OracleDriver";

/*Oracle OCI Driver classes12.zip*/
url = "jdbc:oracle:thin:@host:port:sid";
driver = "oracle.jdbc.driver.OracleDriver";

/* Oracle 에서 Service Name 을 사용하는 경우 */
jdbc:oracle:thin:@//host_name:port_number/service_name
jdbc:oracle:thin:scott/tiger@//myhost:1521/myservicename

/* OpenBase OpenBaseJDBC.jar (download from www.openbase.com) */
url = "jdbcpenbase://host/database";
driver = "com.openbase.jdbc.ObDriver";

/* MySQL Connector/J from MySql (www.mysql.com)*/
url = "jdbc:mysql://host/database";
driver = "com.mysql.jdbc.Driver";

/*JSQLConnect from JDBC Drivers from Microsoft MSSQL 2000*/
url = "jdbc:microsoft:sqlserver://host:port";
driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

/*DB2 Universal JDBC Driver from IBM
jdbc classes: db2java.zip */
url = "jdbc:db2:host";
driver = "COM.ibm.db2.jdbc.app.DB2Driver";

/*DB2 Universal JDBC Driver from IBM type4
jdbc classes: db2jcc.jar*/
driver = "com.ibm.db2.jcc.DB2Driver"
url = "jdbc:db2://{host}:50000/{database name}"

/*DB2 Universal JDBC Driver from IBM
jdbc classes: db2java.zip */
url = "jdbc:db2://{host}:{port}/{database name}";
driver = "COM.ibm.db2.jdbc.net.DB2Driver";

/*OpenBase5.1 jdbc driver for neusoft
jdbc class: openBASE.jar*/
url = "jdbc:OpenBASE:database"
url = "jdbc:OpenBASE://host/database"
url = "jdbc:OpenBASE://host:port/database"
url = "jdbc:OpenBASE://host:port/database;user=username;password=pwd"
driver = "com.neusoft.OpenBASE.Driver"

JDBC Driver Types

Type1:JDBC-ODBC Bridge

JDBC 함수호출을 ODBC 함수호출로 전환하기 때문에 만약 예전에 사용하던 환경이 ODBC 를 이용해 구축되어 있다면 굳이 다른 드라이버를 사용하지 않고서도 시스템을 확장해 나갈수가 있다
ODBC 와 DB 간에 소켓을 사용하기 때문에 방화벽을 통과하지 못하기 때문에 익스트라넷 환경에서 사용할 수가 없다. 또한 ODBC 접속부분에서 100% 자바코드를 사용하지 않기 때문에 애플릿으로도 연결할 수가 없다.
(주로 *.mdb, SQL Server등을 Access시 사용)


Type2:Native-API partly-Java Driver

네이티브-API란 벤더에서 제공하는 라이브러리를 이용해 DB를 엑세스한다는 의미이다. 그러므로 벤더에서 제공되는 2진 파일과 인터페이스하기 위해 자바는 부분적으로 Java Native Method를 이용하게 된다. (partly-Java) 이것은 클라이언트 쪽에 DB회사에서 제공하는 라이브러리를 가지고 있어야 한다. 이또한 Applet 에서는 작동을 하지 않는다.
DB에 따라서 Networking S/W를 설치할 필요가 있다.

Type3:JDBC-Net pure Java Driver

JDBC의 호출을 DBMS에 비종속적인 네트웍 프로토콜로 바꾼 후 다시 서버에 의해 원하는 DBMS의 프로토콜로 해석.
서버에 존재하는 네트웍 미들웨어에 의해 자바로 만들어진 모든 클라이언트 프로그램이 다른 여러 데이터베이스에 연결되는 3-tier 아키텍처.
JDBC API 표준에 의하여 만들어 졌기 때문에 DBMS의 종류에 상관없이 사용할 수 있다.
4가지 Type 중에서 가장 융통성이 뛰어남.

Type4:Native-protocol pure Java Driver

JDBC API는 DBMS가 사용하는 전용 프로토콜을 이용해 직접 인터페이스를 한다. 클라이언트에서 DBMS 서버로 직접 엑세스.
개별적인 Database 업체에서 지원하고 있는 JDBC driver로 JDBC문을 직접 특정 데이터 베이스 Protocol로 변환.
Type 3와는 다르다. JDBC API 표준을 기준으로 만들었다기 보다는 DBMS Vendor가 표준을 기준으로 기능을 추가 또는 삭제하여 독자적인 형태로 만든 type이다. 따라서 특정 DBMS에 의존적인 반면에 해당 DBMS만이 제공하는 기능들을 사용할 수 있다는 장점.