4D v14

ODBC Driverを使用した4D SQLエンジンへの接続

ホーム

 
4D v14
ODBC Driverを使用した4D SQLエンジンへの接続

ODBC Driverを使用した4D SQLエンジンへの接続  


 

 

ODBC Driver for 4Dを経由して、外部アプリケーションから4D SQLエンジンに接続できます。

Note: この設定は例題として使用されます。4Dアプリケーションに直接SQLで接続することができます。詳細についてはSQL LOGINコ マンドの説明を参照してください。

  1. チュートリアル例題データベースのコピーを作成します。
  2. データベースを含むフォルダの名前を"Client" と"Server"にそれぞれ変更します。
  3. "Server"フォルダの例題データベースを起動し、データベース設定のSQL/設定ページで"起 動時にSQLサーバを起動する"チェックボックスにチェックを入れ、アプリケーションの開始時にSQLサーバーが起動されるようにします:

  4. "Server"フォルダのデータベースを再起動し、SQLサーバを有効にします。
  5. 4D ODBC Driver for 4Dをインストールし、ODBCデータソースアドミニストレータに名前が表示されているか確認します:

  6. データソース "Test_ODBC_Driver_v11" を作成します:



    そして "Connection test" ボタンをクリックして、接続をテストします:

  7. "Client"フォルダの例題データベースを起動し、メインウィンドウを開いて、 "Connect to 4D" ボタンをクリックします。このボタンに書かれているコードは以下のとおりです:

     C_TEXT($Crt_DSN;$My_4D_DSN)
     ARRAY TEXT(aDSN;0)
     ARRAY TEXT(aDS_Driver;0)
     ARRAY TEXT(aTitles;0)
     ARRAY TEXT(aDirectors;0)
     ARRAY TEXT(aMedias;0)
     
     REDUCE SELECTION([MOVIES];0)
     
      ` デフォルトでカレントDSNはローカルです。
     $Crt_DSN:=Get current data source
     ALERT("The current DSN is "+$Crt_DSN)
     
      ` ローカルデータベースに対し操作を行う
     Begin SQL
        SELECT Title, Director, Media
        FROM MOVIES
        ORDER BY 1
        INTO :aTitles, :aDirectors, :aMedias;
     End SQL
     
      ` ODBCマネージャーに定義されたUserタイプのデータソースを取得する
     GET DATA SOURCE LIST(User data source;aDSN;aDS_Driver)
     $My_4D_DSN:="Test_ODBC_Driver_v11"
     If(Find in array(aDSN;$My_4D_DSN)>0)
     
      ` ODBC Driver v114Dと他の4D間の接続を確立する
     SQL LOGIN($My_4D_DSN;"Administrator";"";*)
     If(Ok=1)
     
      ` カレントDSNは4Dのデータベース
        $Crt_DSN:=Get current data source
        ALERT("The current DSN is "+$Crt_DSN)
     
        ARRAY TEXT(aTitles;0)
        ARRAY TEXT(aDirectors;0)
        ARRAY TEXT(aMedias;0)
     
      ` 外部 (4D) データベースに対し操作を行う
        Begin SQL
           SELECT Title, Director, Media
           FROM MOVIES
           ORDER BY 1
           INTO :aTitles, :aDirectors, :aMedias;
        End SQL
     
      ` USE EXTERNAL DATABASEコマンドで開かれた外部接続を閉じる
        SQL LOGOUT
      ` カレントDSNはローカルデータベースになる
        $Crt_DSN:=Get current data source
        ALERT("The current DSN is "+$Crt_DSN)
     
     Else
        ALERT("Unable to connect to the external data source")
     End if
    Else
     ALERT("ODBC Driver data source not found")
    End if

ご覧頂いたとおり、メソッドの最初の部分でローカルデー タベースへのクエリを作成しています。次に、ODBC Driverを経由して他の4Dデータベースに接続し、同じクエリを行っています。結果はもちろん同じはずです。

 
プロパティ 

プロダクト: 4D
テーマ: チュートリアル

 
ARTICLE USAGE

SQLリファレンス ( 4D v14)
SQLリファレンス ( 4D v12.1)
SQLリファレンス ( 4D v13.4)
SQLリファレンス ( 4D v14 R2)
SQLリファレンス ( 4D v14 R3)
SQLリファレンス ( 4D v14 R4)

Inherited from : ODBC Driverを使用した4D SQLエンジンへの接続 ( 4D v11 SQL Release 4 )