UDL ファイルを使用して SQL Server への OLE DB 接続をテストする
適用対象: SQL Server
Note
トラブルシューティングを開始する前に、 前提条件を確認し チェックリストを確認してください。
この記事では、ユニバーサル データ リンク (UDL) ファイルを作成し、さまざまなプロバイダーを使用して、ファイルを介して SQL Server インスタンスへの接続をテストする方法について説明します。
UDL ファイルを作成する
Note
UDL ファイルを使用すると、完全なアプリケーションに関係なく、任意のバックエンド データベースへのオブジェクト リンクおよび埋め込みデータベース (OLE DB) プロバイダーの接続をテストできます。 UDL ファイルを保存すると、整形式の接続文字列が生成されます。これを使用して、アプリケーションの接続文字列を構築したり、さまざまなプロパティを設定する方法を確認したりできます。 文字列を取得するには、メモ帳でファイルを開きます。
OLE DB プロバイダーをテストする UDL ファイルを作成するには、次の手順に従います。
エクスプローラーでファイル拡張子を表示するには、次の手順に従います。
Startを選択し、「エクスプローラー オプション」と入力。
[ View ] タブを選択し、[既知のファイルの種類の拡張子を表示する をオフにして 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) は、最新の SQL Server OLE DB プロバイダーです。 プロバイダーには、TLS 1.2、 MultiSubnetFailover、Azure 認証オプションなど、すべての新機能があります。 新しい SQL Server データベースには、このプロバイダーをお勧めします。
SQL Server OLE DB プロバイダーを使用して接続をテストするには、次の手順に従います。
.udl ファイルを開きます。
Provider タブを選択し、アプリケーションで使用する SQL Server OLE DB プロバイダーを選択し、 Nextを選択します。
[ Connection タブで、ネットワーク プロトコル、完全修飾ドメイン名 (FQDN)、およびポート番号を Select またはサーバー名を入力を指定します。 たとえば、
tcp:SQLProd01.contoso.com,1433
のようにします。Note
この方法でサーバー名を入力すると、接続に干渉する可能性のある一般的な問題 (SQL Server Browser サービスの問題など) が回避されます。
[ Connection タブに他のプロパティを入力します。
Note
ほとんどの接続テストでは、データベース名を入力する必要はありません。
[接続テスト] を選択します。
他のタブを選択し、他のドライバー設定を調べることもできます。 接続テストが完了したら、OK を選択して接続文字列をファイルに保存します。
Microsoft OLE DB Provider for ODBC Drivers を使用して接続をテストする
Microsoft OLE DB Provider for ODBC Drivers を使用して Open Database Connectivity (ODBC) ドライバーをテストするには、次の手順に従います。
.udl ファイルを開きます。
Provider>Microsoft OLE DB Provider for ODBC Drivers>Next を選択します。
[ Connection ] タブでは、次のいずれかの方法を使用してデータのソースを指定し、その他のプロパティを入力できます。
[データ ソース名の使用] フィールドに値を入力します。
Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes
などの DSN レス接続文字列を入力します。
[接続テスト] を選択します。
64 ビット コンピューターで 32 ビット プロバイダーをテストする
64 ビット オペレーティング システムで 32 ビット プロバイダーの接続をテストするには、次の手順に従います。
コマンド プロンプト ウィンドウで、次のコマンドを実行して、32 ビット コマンド プロンプトを開きます。
%windir%\SysWoW64\cmd.exe
次のコマンドを実行して UDL ファイルを開きます。
c:\temp\test.udl
Microsoft Jet 4.0 OLE DB Provider Provider タブに表示される場合は、32 ビット ダイアログが正常に読み込まれ、32 ビット プロバイダーを選択して接続をテストできるようになりました。
接続の問題のトラブルシューティングに関するヒント
次の方法を使用して、接続が失敗した理由を確認できます。
- プロバイダーを変更します。
- プロトコルを変更します。 たとえば、「
tcp:
」、「np:
」、「lpc:
」のように指定します。 - 完全なドメイン サフィックスの有無に関係なく、または IP アドレスのみを使用して接続をテストします。
- ポート番号を削除し、インスタンス名を使用して SQL Server Browser サービスをテストします。
上記の各方法について、1 つの組み合わせが機能し、別の組み合わせが失敗した場合、問題に関する手掛かりが得られます。 たとえば、2 番目のメソッドを使用する場合、lpc:
が機能し、tcp:
が機能しない場合は、SQL Server 構成マネージャーで TCP プロトコルを有効にしてみてください。
関連項目
Note
この記事で問題が解決されていない場合は、