4D v14

接続文字列の使用

ホーム

 
4D v14
接続文字列の使用

接続文字列の使用    


 

 

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" を obdc.ini ファイルまたは一般DSN設定キー/値ペアにて使用して下さい。
  • DSN
    接続文字列の場合、使用するDSNを指定します。
    この場合、他のキーワードを使用する必要はありません。DSNにて既に定義済みだからです。
    DSN定義の場合、名前を直接割り当てて、キーワードを使用する必要はありません。
  • Description
    接続文字列の場合、このキーワードは使用しません。
    DSN定義の場合、短い説明を入力する事ができます(任意)
    デフォルトの値: ""
  • Server
    接続したい4D ServerのIPアドレスまたは名前を指定します。
    例: "127.0.0.1", "localhost", "2001:0db8:0000:85a3:0000:0000:ac1f:8001"
    デフォルトの値: “localhost”
  • Port
    接続ポートを指定します。
    デフォルトの値: 19812
    このポートは、サーバーマシンのデータベース設定の、SQLページにて表示されているものと一致している必要があります。
  • UID
    接続する際のユーザー名を指定します。
    デフォルトの値: ""
  • PWD
    UIDキーで指定されたユーザーが使用するパスワードを指定します。
    デフォルトの値: ""
  • SSL
    SSSL接続を有効化
    接続文字列の場合、この値は"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 (高度な設定):
    接続文字列の場合、For a connection string: Use "True" or "False". If you encounter problems with dates and times, you can try setting this option to "True".
    DSN定義の場合、チェックボックスとして表示されます。
    デフォルトの値: False (チェックされていない)

 
 

 
プロパティ 

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

 
ARTICLE USAGE

4D ODBC Driver ( 4D v14)

Parent of : 接続文字列の使用 ( 4D v14 R2)