Доступ к базе данных DB2 в автономном проекте Java - PullRequest
1 голос
/ 02 июля 2010

Мне нужен доступ к базе данных DB2 в простом автономном проекте Java.

Я не могу использовать источник данных из контейнера, верно? Нужно ли писать соединение JDBC?

Ответы [ 4 ]

1 голос
/ 02 июля 2010

Вы должны иметь необходимые jbb-файлы db2 во время компиляции вашей программы, во время выполнения classpath. Если на целевых машинах установлен собственный клиент DB2, вы можете использовать ODBC Bridge JDBC. Однако лучше придерживаться чистых драйверов Java-type4. (db2jcc.jar, db2jcc_license * .jar и т. д.)

Когда драйверы находятся в classpath, вы можете использовать обычный код JDBC для начала. Такие как:

import java.sql.*;
import java.lang.*;
import java.io.*;
import Com.ibm.db2.jcc.*;  //Type4 library
public class DB2Sample{
  static
  {
    try 
    {       

      Class.forName("com.ibm.db2.jcc.DB2Driver");
    } 
    catch (ClassNotFoundException e)
    {
       System.err.println("Could not load DB2 driver \n");
       System.err.println(e.getMessage());
       System.exit(1);
    }

public static void main(String args[]) 
  {

    /* Type 4 driver url */
    String url = "jdbc:db2j:net://machine-name:port-number/TGSAMPLE";
         Connection conn = DriverManager.getConnection(url,"userid", "psswrd");
...
  }

и т. Д.

Посмотрите на документацию IBM здесь для лучших примеров и деталей

1 голос
/ 02 июля 2010

В зависимости от ваших потребностей, либо обрабатывайте соединение JDBC самостоятельно, либо используйте автономный пул JDBC, например, C3P0 , DBCP или BoneCP .

1 голос
/ 02 июля 2010

соединение JDBC

0 голосов
/ 02 июля 2010

Я не могу использовать источник данных из контейнера, верно?Нужно ли мне писать соединение JDBC?

Вы можете попытаться получить соединение из контейнера, используя JNDI Lookup.Например, см. Это .

Но я думаю, что было бы намного проще не делать этого.

Нужно ли мне писать соединение JDBC?

Да, если вам проще управлять этим соединением самостоятельно.

Вы также можете использовать пул соединений, такой как Apache DBCP или C3PO. Вот список других, поддерживающих пул подключений для автономного приложения

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