UDL ファイルを使用してSQL SERVERへの OLE DB 接続をテストする
適用対象: SQL Server
注:
トラブルシューティングを開始する前に、前提条件を確認し、チェックリストを確認してください。
この記事では、ユニバーサル データ リンク (UDL) ファイルを作成し、さまざまなプロバイダーを使用して、ファイルを介してSQL Server インスタンスへの接続をテストする方法について説明します。
UDL ファイルを作成する
注:
UDL ファイルを使用すると、完全なアプリケーションに関係なく、任意のバックエンド データベースへのオブジェクト リンクと埋め込みデータベース (OLE DB) プロバイダーの接続をテストできます。 UDL ファイルを保存すると、適切な形式の接続文字列が生成されます。これを使用して、アプリケーションの接続文字列を構築したり、さまざまなプロパティを設定する方法をチェックしたりできます。 文字列を取得するには、メモ帳でファイルを開きます。
OLE DB プロバイダーをテストする UDL ファイルを作成するには、次の手順に従います。
エクスプローラーでファイル拡張子を表示するには、次の手順に従います。
[スタート] を選択し、「エクスプローラー オプション」と入力します。
[ 表示 ] タブを選択し、[ 既知のファイルの種類の拡張子を非表示にする ] オプションをオフにして、[ OK] を選択します。
UDL ファイルを作成するフォルダーに移動します。 たとえば、 c:\temp です。
新しいテキスト ファイル ( sqlconn.txtなど) を作成し、拡張子の名前を .txt から .udl に変更します。 (ファイル名拡張子の変更に関する警告メッセージに [ はい ] を選択します)。
次の PowerShell スクリプトを使用して、%temp% フォルダーに sqlconn.udl を作成することもできます。
clear $ServerName = "(local)" $UDL_String = "[oledb]`r`n; Everything after this line is an OLE DB initstring`r`nProvider=MSOLEDBSQL.1;Integrated Security=SSPI;Persist Security Info=False;User ID=`"`";Initial Catalog=`"`";Data Source=" + $ServerName + ";Initial File Name=`"`";Server SPN=`"`";Authentication=`"`";Access Token=`"`"" Set-Content -Path ($env:temp + "\sqlconn.udl") -Value $UDL_String -Encoding Unicode #open the UDL Invoke-Expression ($env:temp + "\sqlconn.udl")
SQL Server OLE DB プロバイダーを使用して接続をテストする
Microsoft OLE DB Provider for SQL Server (SQLOLEDB) は最も一般的なプロバイダーです。 これは Windows に組み込まれており、TLS 1.2 チャネル バインドを必要とするように構成されていない任意のバージョンのSQL Serverに接続できます。
Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) は、OLE DB プロバイダーの最新SQL Serverです。 プロバイダーには、TLS 1.2、 MultiSubnetFailover、Azure 認証オプションなど、すべての新機能があります。 新しいSQL Server データベースには、このプロバイダーをお勧めします。
SQL Server OLE DB プロバイダーを使用して接続をテストするには、次の手順に従います。
.udl ファイルを開きます。
[プロバイダー] タブを選択し、アプリケーションで使用する OLE DB プロバイダー SQL Server選択し、[次へ] を選択します。
[ 接続 ] タブで、ネットワーク プロトコル、完全修飾ドメイン名 (FQDN)、および [ サーバー名の選択または入力] でポート番号を指定します。 たとえば、「
tcp:SQLProd01.contoso.com,1433
」のように入力します。注:
この方法でサーバー名を入力すると、接続に干渉する可能性のある一般的な問題 (SQL Server Browser サービスの問題など) が回避されます。
[ 接続 ] タブに他のプロパティを入力します。
注:
ほとんどの接続テストでは、データベース名を入力する必要はありません。
[ テスト接続] を選択します。
他のタブを選択し、他のドライバー設定を調べることができます。 接続テストが完了したら、[OK] を選択して接続文字列をファイルに保存します。
Microsoft OLE DB Provider for ODBC Drivers を使用して接続をテストする
Microsoft OLE DB Provider for ODBC Drivers を使用して Open Database Connectivity (ODBC) ドライバーをテストするには、次の手順に従います。
.udl ファイルを開きます。
[プロバイダー>Microsoft OLE DB Provider for ODBC Drivers Next]\(ODBC ドライバーのプロバイダー Microsoft OLE DB プロバイダー\)[次へ] を>選択します。
[ 接続 ] タブでは、次のいずれかの方法を使用してデータのソースを指定し、その他のプロパティを入力できます。
[ データ ソース名の使用 ] フィールドに値を入力します。
のような DSN レス 接続文字列
Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes
を入力します。
[ テスト接続] を選択します。
64 ビット コンピューターで 32 ビット プロバイダーをテストする
64 ビット オペレーティング システムの 32 ビット プロバイダーの接続をテストするには、次の手順に従います。
[コマンド プロンプト] ウィンドウで、次のコマンドを実行して、32 ビット のコマンド プロンプトを開きます。
%windir%\SysWoW64\cmd.exe
次のコマンドを実行して UDL ファイルを開きます。
c:\temp\test.udl
[プロバイダー] タブに Microsoft Jet 4.0 OLE DB プロバイダーが表示される場合は、32 ビット ダイアログが正常に読み込まれ、32 ビット プロバイダーを選択して接続をテストできるようになりました。
接続の問題のトラブルシューティングに関するヒント
次の方法を使用して、接続が失敗した理由をチェックできます。
- プロバイダーを変更します。
- プロトコルを変更します。 (
tcp:
、np:
、またはlpc:
など)。 - 完全なドメイン サフィックスの有無にかかわらず、または IP アドレスのみを使用して接続をテストします。
- ポート番号を削除し、インスタンス名を使用して SQL Server Browser サービスをテストします。
上記の各方法について、1 つの組み合わせが機能し、別の組み合わせが失敗した場合、問題に関する手がかりを得ることができます。 たとえば、2 番目のメソッドを使用する場合、 が機能しtcp:
、 が機能しない場合lpc:
は、SQL Server 構成マネージャーで TCP プロトコルを有効にしてみてください。
関連項目
注:
この記事で問題が解決されていない場合は、SQL Serverの接続に関する問題のトラブルシューティングに関するページをチェックして、詳細なヘルプを表示できます。