Tips

SQL LOGINのいろいろな使い方

日付2011/05/25
ID76310 (英語原文参照)
バージョンv11 SQL
プラットフォームMac/Win

SQL LOGINは, 内外さまざまなタイプのデータソースに対する接続で使用されるコマンドです。実際に実行される接続のタイプは, 引数に渡される値で決まります。

ODBC

ODBC接続を確立するには, "ODBC:DSN名" または "DSN名" 形式でデータソースを指定します。(ただし, 後者はあいまいな表記なので推奨されていません。)いずれにしても, "DSN名"は有効なデータソース名である必要があり, DSNの設定は必須です。また, DSNが作成されたマシンには, 対象となるサーバーのODBCドライバーがインストールされていなければなりません。ネットワーク接続には, MicrosoftのODBC APIが使用されます。この方法で4D Serverに対するODBC接続を開始することもできますが, それは不要なオーバヘッドを生むだけであまり意味がありません。

ダイレクト接続

ダイレクト接続とは, この場合, プロプライアタリなSQLプロトコルを使用し, 4D Serverに対する接続を確立することを意味します。ダイレクト接続を確立するには, "IP:サーバーアドレス" または "4D:サーバー公開名" 形式でデータソースを指定します。サーバーアドレスは4D Serverを実行しているマシンのアドレス, サーバー公開名はデータベース設定で入力した名前です。このタイプの接続にODBCはいっさい関係ありません。ODBCドライバーは不要であり, DSNも必要ありません。同じコマンド(SQL LOGIN)を使用しますが, ODBCとは根本的に違います。唯一共通しているのは, ネットワーク接続であるという点だけです。当然のことですが, 4D Serverに必要なライセンスがあり, 設定でSQL接続が許可されていることも前提です。

内部ログイン

内部ログインを指定する場合, ネットワークプロトコルは無関係であり, 以後のコマンドはすべて内部データベースエンジンに対して発行されます。このタイプの接続は,  SQL_INTERNAL表記でデータソースを指定します。これは定数であり, 文字列ではないことに注目してください。やはり, このタイプの接続もODBCとはいっさい関係ありません。ネットワーク接続は不要であり, ODBCも4DのプロプライアタリなSQLプロトコルも使用されません。