JDBC-ODBCブリッジを使用してJavaアプリケーションを4Dに接続する前に、4DODBCドライバーデータソースを構成する必要があります。 ODBCデータソースには、ターゲットデータベース(4Dなど)とそれに接続するために必要なODBCドライバー(4D ODBCドライバーなど)の接続の詳細が格納されます。
- ODBCAdministratorを起動します。これを行うには、[Windowsの実行]ダイアログボックスで、次のように入力します。
%windir%\syswow64\odbcad32.exe
- ODBCアドミニストレータで、[システムDSN]タブを選択し、[追加]を選択します。
- [新しいデータソースの作成]ダイアログボックスで、[4D ODBCドライバー]を選択し、[完了]を選択します。
- 4DODBCドライバーの構成ダイアログボックスに入力します。
- EasysoftJDBC-ODBCBridgeをダウンロードします。 (登録が必要です。)
- データソースを作成したマシンにEasysoftJDBC-ODBCブリッジをインストールしてライセンスを取得します。
インストール手順については、EasysoftJDBC-ODBCBridgeのドキュメントを参照してください。
Javaから4Dに接続する
- EJOB.jarをJavaDevelopmentKitがインストールされているマシンにコピーします。
Easysoft JDBC-ODBCブリッジがすでにこのマシンにインストールされている場合は、この手順をスキップしてください。
EJOB.jarは、EasysoftJDBC-ODBCブリッジをインストールするマシンの次の場所にインストールされます。
<easysoft_install>\Jars
のデフォルトの場所は <drive>:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge
です。 。 - このJavaコードをConnectTo4D.javaという名前のファイルに追加します。
import easysoft.sql.*; import java.sql.*; import java.util.Calendar; import java.util.Date; public class ConnectTo4D { public static void main(String[] args) throws Exception { String[] szTableTypes; szTableTypes = new String[100]; String[] szTableNames; szTableNames = new String[1000]; int[] szTypeCount; szTypeCount = new int[100]; int intTableTypes; try { easysoft.sql.jobDriver driver = (easysoft.sql.jobDriver)Class.forName("easysoft.sql.jobDriver").newInstance(); String jobUrl= "jdbc:easysoft://localhost/My4DSystemDSN:logonuser=mywindowsuser:logonpassword=mywindowspassword"; Connection con = DriverManager.getConnection(jobUrl, "my4Duser", "my4Dpassword"); System.out.println(" "); System.out.println("------------------ Method Summary ------------------"); try { int i; boolean bl; String st; DatabaseMetaData dbMD = null; dbMD = con.getMetaData(); //------------------------------------------------------------------------ try { ResultSet rt = dbMD.getTableTypes(); intTableTypes=0; st=""; while (rt.next()) { szTableTypes[intTableTypes]=rt.getString(1); intTableTypes++; } for (i=0; i<intTableTypes; i++) { st=st + szTableTypes[i] + "; "; } System.out.println("Table types (" + intTableTypes + ") : "+ st ); // Go get the tables e.t.c. try { int x; ResultSet rs = dbMD.getTables( null, null, "%", null ); while (rs.next()) { for (x=0; x<intTableTypes; x++) { System.out.println("TABLE_CAT : " + rs.getString(1)); System.out.println("TABLE_SCHEM : " + rs.getString(2)); System.out.println("TABLE_NAME : " + rs.getString(3)); System.out.println("TABLE_TYPE : " + rs.getString(4)); System.out.println("REMARKS : " + rs.getString(5)); System.out.println("------------------------------------------------------"); } } } catch (Exception e) { System.out.println("getTables error : " + e ); } } catch (Exception e) { System.out.println("getTableTypes error : " + e ); } //------------------------------------------------------------------------ } catch(Exception e) { System.out.println("db Meta Data exception: " + e); e.printStackTrace(); } } catch(Exception e){ System.out.println("Java code error : " + e); } } }
- コマンドウィンドウで、EJOB.jarをJavaクラスパスに追加します。例:
set CLASSPATH="%CLASSPATH%;C:\Program Files (x86)\Easysoft Limited\Easysoft JDBC-ODBC Bridge\Jars\EJOB.jar"
-
cd
ConnectTo4D.javaが配置されているディレクトリに移動し、Javaファイルをコンパイルして実行します。例:"C:\Program Files\Java\jdk1.8.0_144\bin\javac.exe" ConnectTo4D.java java ConnectTo4D