4D v16

接続文字列の使用

ホーム

 
4D v16
接続文字列の使用

接続文字列の使用    


 

 

ODBC API をPHP、Python script、Java、C、C++ など他の言語と使用する際、接続文字列を使用することでDSNを使用せずに接続することができます。

Pythonを使用した例:

import pyodbc
conn = pyodbc.connect(‘Driver={4D ODBC Driver 32-bit} ;Server=187.145.45.23 ;UID=Designer ;PWD=123456’)
curs = conn.cursor()
curs.execute('select (id,name) from table_1')
curs.fetchone()
curs.close()
conn.close()

この例では以下のキーワードを使用します:

  • Driver: 32-bit 4D ODBC Driverを使用するように設定されます。
  • Server:  IP アドレスが"187.145.45.23"のマシンの4D Serverを使用するように設定されます。ポートは特には指定されていないのでデフォルトのポート(19812)が使用されます。
  • UID と PWD: "Designer"として、パスワード"123456"で接続するように設定されます。

キーワードは大文字小文字の区別はなく、"Driver"(使用する場合には最初に来なければならない)を除いて順番も関係なく使用することができます。キーワードを指定しないときには、必ずそのデフォルトの値が使用されます。

接続文字列はDSNを使用することもできます。4Dの設定ウィンドウを使用してDSNを作成した場合、同じキーワードを使用してレジストリまたはobdc.iniファイルに設定を保存します。

例えば、以下のような接続文字列を使用した場合:

conn=pyodbc.connect('DSN=My_4D_DSN')

'My_4D_DSN'のDSN内に設定された値と同じ値を使用した接続文字列と同様の結果になります。

接続文字列にて、またはDSNを設定しているときに使用されるキーワードの詳細は、以下の通りです。

  • Driver
    使用するODBC Driverを指定します。
    接続文字列を指定する場合:"{4D ODBC Driver 32-bit}" または "{4D ODBC Driver 64-bit}"を使用します。
    DSN 定義(OS X)の場合:"/Library/ODBC/4D ODBC x32.bundle/Contents/MacOS/4D ODBC x32" または "/Library/ODBC/4D ODBC x64.bundle/Contents/MacOS/4D ODBC x64"をobdc.iniファイル、または一般DSN設定キー/値のペアの中で使用します。
  • DSN
    接続文字列を指定する場合:使用するDSNを指定します。
    この場合、他のキーワードはDSN内で既に定義されているために、使用する必要はありません。
    DSN 定義の場合:名前を直接割り当てます。他のキーワードは必要ありません。
  • Description
    接続文字列の場合:このキーワードは使用しません。
    DSN 定義の場合:短い説明を入力可能です(任意)
    デフォルトの値:""
  • Server
    接続したいIPアドレスまたは4D Serverの名前を指定します。例:"127.0.0.1"、"localhost"、"2001:0db8:0000:85a3:0000:0000:ac1f:8001"
    デフォルトの値: “localhost”
  • Port
    接続ポートを指定します。
    デフォルトの値: 19812
    このポートは(サーバーマシンの)データベース設定のSQL/環境設定ページにあるものと一致していなければなりません。
  • UID
    接続するときに使用するユーザー名を指定します。
    デフォルトの値: ""
  • PWD
    UIDキーにて指定されたユーザー名で使用するパスワードを指定します。
    デフォルトの値: ""
  • SSL
    TLS接続を有効化します。
    接続文字列の場合: "True" と "False"のどちらでも可能です。
    DSN 定義の場合:チェックボックスとして表示されます。
    デフォルトの値: "False"
  • PhysicalConnectionTimeout*
    ODBC接続は、TCP/IPネットワークに接続するところから始まります。
    この値は、その段階でのタイムアウトを設定します。
    デフォルトの値: 0
  • LoginTimeout*
    ドライバーがTCP/IPネットワークに接続すると、次に4D Serverから認識される必要があります。そのため、ドライバーはユーザー、パスワードなどの情報を含んだフレームを送ります。この値は、その返信が来るまでの待つ時間の上限を設定します。
    デフォルトの値: 0
  • QueryTimeout*
    ODBC Driverは接続すると、クエリを実行し、データを取り扱うことが出来ます。この秒単位で設定されるタイムアウトは、その際に適用されます。
    デフォルトの値: 0
    * タイムアウトは、そのアクションを中止するまで待つ時間を設定します。これらの値は秒単位で設定され、0はタイムアウトしない(待ち時間に上限がない)ことを意味します。
  • DefaultPageSize (高度な設定):
    行で表現される値です。
  • NetworkCacheSize (高度な設定):
    KBで表現される値です。
  • FavouriteImageFormats (高度な設定):
    接続文字列の場合: 受け入れ可能な画像フォーマットの一覧を指定します。スペース区切りで、.tiff、.gif、.jpg、.png、.bmpから指定することが出来ます。
    DSN 定義の場合:チェックボックスとして(以下のように)表示されます。

    デフォルトの値: "" (どんなフォーマットも受け付ける)
  • CharsEncoding (高度な設定):
    接続文字列の場合: "UTF-8" または "System" から選択可能です。
    DSN 定義の場合: ラジオボタンとして表示されます。
    デフォルトの値: UTF-8
  • OpenQuery (高度な設定):
    接続文字列の場合: "True" または "False"を使用します。SQLServerManagementStudioを使用していて上手く4Dに接続できない場合、以下のスクリプトを実行することが推奨されます:
    EXEC sp_addlinkedserver
    @server = '<Your name>',
    @srvproduct = '<Anything>',
    @provider = 'MSDASQL',
    @provstr = 'OpenQuery=true;dsn=<a 4D-defined DSN>;UID=<your 4D User>;PWD=<Password>'

    DSN 定義の場合:チェックボックスとして表示されます。
    デフォルトの値: False (チェックされていない)
  • MSAccess (高度な設定):
    接続文字列の場合: "True" または "False"を使用します。日付と時間で上手く行かない場合、このオプションを"True"にしてみて下さい。
    DSN 定義の場合:チェックボックスとして表示されます。
    デフォルトの値: False (チェックされていない)
  • Windev (高度な設定):
    接続文字列の場合:"True" または "False"を使用します。Windevで問題に遭遇した場合、このオプションを"True"にしてみて下さい。
    DSN 定義の場合:チェックボックスとして表示されます。
    デフォルトの値: False (チェックされていない)

 
 

 
プロパティ 

プロダクト: 4D
テーマ: 接続文字列の使用

 
履歴 

 
ARTICLE USAGE

4D ODBC Driver ( 4D v16)