Microsoft SQL Server への接続

ColdFusion でサポートされる SQL Server のバージョンについては、www.adobe.com/go/learn_cfu_cfsysreqs_jp を参照してください。ColdFusion を SQL Server に接続する際には、次の表の設定値を使用します。

設定

説明

CF データソース名

ColdFusion がデータソースに接続するために使用するデータソース名 (DSN) です。

データベース

このデータソースの接続先のデータベースです。

サーバー

使用するデータベースをホストするサーバーの名前です。データベースがローカルにある場合は、local を丸括弧で囲んでください。SQL Server をローカルで実行している場合 (または MSDE を使用する場合)、

サーバー名には実際のインスタンス名でなく 127.0.0.1 を指定します。

ポート

サーバーが接続を監視する TCP/IP ポートの番号です。

ユーザー名

ColdFusion アプリケーションが (cfquery タグなどで) ユーザー名を渡さない場合に、データソースに接続するために ColdFusion が JDBC ドライバに渡すユーザー名です。

パスワード

ColdFusion アプリケーションが (cfquery タグなどで) パスワードを渡さない場合に、データソースに接続するために ColdFusion が JDBC ドライバに渡すパスワードです。

説明

(オプション) この接続の説明です。

接続文字列

ログイン証明情報などのデータベース固有のパラメータをデータソースに渡すフィールドです。

メソッドの選択

サーバーカーソルを SQL クエリーに使用するかどうかを決定します。

  • 直接メソッドでは、順方向のみからレコードセットを取得する場合、および SQL Server 接続を、一度に 1 つのオープンな SQL ステートメントに制限する場合は、効率的にデータを取得できます。これは、ColdFusion アプリケーションでは一般的なメソッドです。

  • カーソルメソッドでは、1 つの接続で複数のオープンな SQL ステートメントを使用できます。これは、プールされたステートメントを使用しない限り、ColdFusion アプリケーションでは一般的なメソッドではありません。

接続数の制限

ColdFusion でデータソースのデータベース接続数を制限するかどうかを指定します。このオプションを有効にすると、[制限数] フィールドを使用して最大数を指定できます。

制限数

データソースへのデータベース接続の最大数を指定します。この制限を使用するには、[接続数の制限] オプションを有効にします。

接続の維持

データソースへの接続は、接続を要求するオペレーションが実行されるたびに確立されます。このオプションを有効にすると、データソースへの接続をキャッシュすることによってパフォーマンスを向上させることができます。

文字列形式

アプリケーションが nchar (National Character) のような DBMS 特有の Unicode データ型の Unicode データを使用する場合は、このオプションを有効にします。

プールされるステートメントの最大数

プリペアードステートメント (cfqueryparam タグを使用するストアドプロシージャとクエリー) の再使用を有効にします。この設定はアプリケーションに基づいて調整しますが、当初は次の値の合計値を設定してください。

  • cfqueryparam を使用する固有の cfquery タグ

  • 固有の cfstoredproc タグ

タイムアウト (分)

使用していない接続が ColdFusion MX によって廃棄されるまでの時間を分単位で指定します。

間隔 (分)

期限切れのため閉じるデータソース接続がないかどうか確認するサイクルを、サーバーが実行する間隔 (分) です。

接続の無効化

これを選択すると、すべてのクライアント接続が一時停止されます。

ログインタイムアウト (秒)

ColdFusion がデータソース接続へのログインを試みる際の、タイムアウトになるまでの秒数です。

CLOB

これを選択すると、このデータソースのデータベース内にあるすべての CLOB/Text 列の内容全体が返されます。選択していない場合、ColdFusion により [長いテキストのバッファー] の設定で指定された文字数のデータが取得されます。

BLOB

これを選択すると、このデータソースのデータベース内にあるすべての BLOB/Image 列の内容全体が返されます。選択していない場合、ColdFusion により [BLOB バッファー] の設定で指定された文字数のデータが取得されます。

長いテキストのバッファー

デフォルトのバッファーサイズで、[CLOB] (長いテキストの取得) がオフの場合に使用されます。デフォルト値は 64000 バイトです。

BLOB バッファー

デフォルトのバッファーサイズで、[BLOB] オプションがオフの場合に使用されます。デフォルト値は 64000 バイトです。

使用可能な SQL

現在のデータソースを操作可能な SQL オペレーションです。

検証クエリー

プールからの接続が再利用される際に呼び出されます。この場合、追加のクエリーが生成されるため、クエリーの応答時間が長くなることがあります。すべての接続を検証するには、データベースを再起動する直前に検証クエリーを設定する必要がありますが、パフォーマンスの低下を避けるため、データベースの再起動後には検証クエリーを削除してください。

クライアントホスト名

クエリが実行されるホスト名です。

クライアントユーザー名

ユーザーが <cflogin> タグを使用してログインしている場合のユーザー名です。

アプリケーション名

application.cfc で指定されているアプリケーション名です。

接頭辞

指定した場合、値は application.cfc で指定されているアプリケーション名の前に付加されます。

接続の検証を有効にする

接続を検証する場合は選択します。

Northwind サンプルデータベースの設定

以前のバージョンの SQL Server には、Northwind というサンプルデータベースが付属していました。Northwind データベースへの接続を確立することにより、使い慣れたデータベースを使用して ColdFusion の使用方法を学ぶことができます。

SQL Server の Northwind データベースに対して接続を確立するには、SQL Server Enterprise Manager および ColdFusion Administrator でデータベースを設定します。

SQL Server Enterprise Manager でのデータベースの設定

  1. サーバーグループを展開します。

  2. サーバーを展開します。

  3. "Security" フォルダの下で [Logins] を右クリックします。

  4. [New Login] を選択します。

  5. [Windows Authentication] または [SQL Server Authentication] の設定を選択します。

  6. Northwind データベースを選択し、言語を選択します。

  7. データベースサーバーで混合認証を使用していることを確認します。Enterprise Manager で、サーバーを右クリックし、[Properties]-[Security] を選択して、次に [Security] タブを選択します。[SQL Server] オプションと [Windows] オプションを必ずクリックしてください。

  8. 「OK」をクリックします。

ColdFusion Administrator でのデータベースの設定

  1. ColdFusion Administrator を開きます。

  2. [データとサービス]-[データソース] をクリックします。

  3. [データソース名] フィールドに「northwind」と入力し、[ドライバ] ドロップダウンリストで [Microsoft SQL Server] を選択します。

  4. 「追加」をクリックします。

  5. [データベース] フィールドに「Northwind」、[サーバー] フィールドに「127.0.0.1」(またはデータベースサーバーの IP アドレス)、[ポート] フィールドに「1433」とそれぞれ入力します。

    注意: データソース定義の際は、ユーザー名とパスワードを指定しないでください。
  6. データソースを保存します。

SQL Server 接続のトラブルシューティング

SQL Server との接続をうまく確立できない場合は、次の点を再確認してください。

  • デフォルト以外のサーバー名で SQL Server をインストールした場合は、選択した domain¥servername を、(local) を参照しているすべての箇所で使用する必要があります。

    Connection Refused エラーは次のような状況で発生する可能性があります。

    • SQL Server で認証情報を指定した場合、ColdFusion データソースではユーザー名とパスワードを指定しないでおくことが必要です。

    • 接続数に制限があるバージョンの SQL Server を使用している場合、リクエストが TCP/IP 接続数の制限を超過した可能性があります。

    この例外を回避するには、ColdFusion Administrator の [詳細設定] ページで、そのデータソースに対して [接続数の制限] オプションと [制限数] オプションを設定し、SQL Server の上限値よりも低い数値を設定します。

  • SQL Server で TCP/IP プロトコルが有効になっていない可能性があります。この問題は、SQL Server が ColdFusion と同じコンピュータ上で動作している場合に発生することがあります。これを修正するには、次の手順を実行します。

    1. SQL Server Enterprise Manager で、使用する SQL Server の名前を右クリックし、[プロパティ] をクリックします。

    2. [ネットワークの設定] および [全般] タブをクリックします。

    3. [TCP/IP] を、[無効になっているプロトコル] セクションから [有効になっているプロトコル] セクションに移動します。

    4. 「OK」をクリックします。

    5. SQL Server のサービスを再起動します。

    6. データソースを確認します。

  • 接続できない場合は、SQL Server で混合認証モード (Windows および SQL) を使用して ColdFusion データソースからユーザー名とパスワードを削除することを検討してください。