次の方法で共有


SQl アダプターのインストールに関する問題のトラブルシューティング

Von Bedeutung

SQL アダプターは、BizTalk アダプター パックの一部として、および別のアダプターとして使用できます。 このトピックにアクセスして、BizTalk アダプター パックとは別の SQL アダプターのインストールの問題について知っている場合は、BizTalk アダプター パックセットアップへのすべての参照を SQL アダプターセットアップとして解釈する必要があります。

Microsoft BizTalk アダプター パックをインストールすると、コンピューターに製品バイナリがコピーされ、各アダプターのバインドが登録されます。 このセクションでは、トラブルシューティング手法を使用してインストール エラーを解決する方法について説明します。

セットアップ アクションのメッセージのログ記録

BizTalk アダプター パックセットアップ プログラムは、BizTalk アダプター パックをインストールする標準的なタスクを実行します。 さらに、セットアップでは、アダプター バインドの登録など、特定のカスタム アクションも実行されます。 セットアップで実行される標準アクションとカスタム アクションの両方のメッセージをログに記録できます。

  • BizTalk アダプター パックのセットアップでは、MSI を使用してアダプター固有のファイルをインストールします。 そのため、セットアップのログ記録は標準の MSI ログです。

  • セットアップ プログラムが実行するカスタム アクションのすべてのログは、%TEMP%\adaptersetup.log にあります。 ログ ファイルへのトレースが失敗した場合、トレースはイベント ログでも使用できます。

既知の問題

BizTalk アダプター パックをインストールするときに発生する可能性のある最も一般的なエラーと、その原因と解決策を次に示します。

セットアップでアダプター バインドの登録に失敗する

問題

Microsoft BizTalk アダプター パックセットアップ ウィザードでアダプター バインドの登録が失敗しますが、アダプターのインストールが続行されます。

原因

これは、Windows Communication Foundation (WCF) のインストール、Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK のインストール、または machine.config ファイルの破損が原因で発生する可能性があります。 アダプター バインドは、machine.config ファイルに書き込まれます。

解決策

SQL アダプター バインドを手動で登録する必要があります。

アダプター バインドを登録するには
  1. コンピューター上の machine.config ファイルに移動します。 たとえば、32 ビット プラットフォームでは、machine.config は <system drive>:\WINDOWS\Microsoft.NET\Framework\<version>\CONFIG で使用できます。

    このパスでは、 <version> は .NET Framework のバージョンです。

  2. テキスト エディターを使用してファイルを開きます。

  3. SQL アダプター バインドを登録するには:

    1. 要素 "system.serviceModel" を検索し、その下に次を追加します。

      <client>  
        <endpoint binding="sqlBinding" contract="IMetadataExchange" name="mssql" />  
      </client>  
      
    2. system.serviceModel\extensions で要素 "bindingElementExtensions" を検索します。

    3. 不足している SQL アダプター バインドを探します。 "bindingElementExtensions" ノードの下に次のセクションを追加します。

      SQL アダプターの場合は、次を追加します。

      <add name="sqlAdapter" type="Microsoft.Adapters.Sql.SqlAdapterBindingElementExtensionElement,Microsoft.Adapters.Sql, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />  
      
    4. system.serviceModel\extensions で要素 "bindingExtensions" を検索します。

    5. 不足している SQL アダプター バインドを探します。 "bindingExtensions" ノードの下に次のセクションを追加します。

      SQL アダプターの場合は、次を追加します。

      <add name="sqlBinding" type="Microsoft.Adapters.Sql.SqlAdapterBindingCollectionElement,Microsoft.Adapters.Sql, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />  
      

    公開キーとバージョンを確認する方法については、「公開キーとバージョン の決定」を参照してください。

  4. machine.config ファイルを保存して閉じます。

公開キーとバージョンの決定

SQL アダプターの公開キーを確認するには、次の手順を実行します。

公開キーを確認するには
  1. Windows ディレクトリ (通常は C:\WINDOWS\assembly) に移動します。

  2. 公開キーとバージョンを指定する DLL を右クリックし、[ プロパティ] を選択します。 次の表に、SQL アダプターの DLL の名前を示します。

    アダプタ DLL の名前
    SQL アダプター Microsoft.Adapters.Sql
  3. [ 全般 ] タブの [公開キー トークン ] ラベルに対する値は、DLL の公開キーを指定します。 同様に、 Version ラベルに対する値は DLL のバージョン番号を指定します。

  4. 公開キーをコピーし、[ キャンセル] をクリックします。

64 ビット インストールで、アダプター サービス参照を追加するアドインまたはプラグインの使用中にエラーが発生しました。

問題

64 ビット バージョンの BizTalk アダプター パックを実行している 64 ビット コンピューターで、Visual Studio からアダプター サービス参照 Visual Studio プラグインまたはアダプター サービス BizTalk プロジェクト アドインを使用すると、次のエラーが発生します。

No valid adapters are installed on this machine  

原因

SQL アダプターは WCF カスタム バインドであり、machine.config ファイルの System.ServiceModel に登録されます。 64 ビット プラットフォームには 2 つの machine.config ファイルがあり、1 つは 32 ビット アプリケーションで使用され、もう 1 つは 64 ビット アプリケーションで使用されます。 そのため、64 ビット バージョンの BizTalk アダプター パックをインストールすると、セットアップ ウィザードによって、machine.config ファイルの 64 ビット バージョンにバインドが登録されます。 ただし、Visual Studio は 32 ビット プロセスとして実行されるため、Visual Studio から Consume Adapter Service アドインを起動すると、プラグインは 32 ビット バージョンの machine.config ファイル内のバインドをチェックし、エラーを発生させなくなります。

解決策

64 ビット WCF LOB アダプター SDK のインストールに、BizTalk アダプター パックの 32 ビットバージョンと 64 ビット バージョンの両方をインストールします。

Von Bedeutung

64 ビットの WCF LOB アダプター SDK のみをインストールする必要があります。 1 台のコンピューターでの 32 ビットおよび 64 ビット WCF LOB アダプター SDK のサイド バイ サイド インストールはサポートされていません。

64 ビット インストールの BizTalk Server 管理コンソールで SQL アダプター ポートを構成中に無効なバインド エラーが発生しました。

問題

BizTalk Server 管理コンソールでアダプターのポートを構成しようとすると、次のエラーが表示されます。

"Unable to create binding configuration element for editing. Check the values of the BindingType and BindingConfiguration properties.  
(Microsoft.Biztalk.Adapter.Wcf.Converters.CreateBindingException) Unable to get binding type for binding extension "sqlBinding".  
Verify the binding extension is registered in machine.config."  

原因

SQL アダプターは WCF カスタム バインドであり、machine.config ファイルの System.ServiceModel に登録されます。 64 ビット プラットフォームには 2 つの machine.config ファイルがあり、1 つは 32 ビット アプリケーションで使用され、もう 1 つは 64 ビット アプリケーションで使用されます。 そのため、64 ビット バージョンの BizTalk アダプター パックをインストールすると、セットアップ ウィザードによって、machine.config ファイルの 64 ビット バージョンにバインドが登録されます。 ただし、BizTalk Server 管理コンソールは 32 ビット プロセスとして実行されるため、アダプターのポートを構成すると、machine.config ファイルの 32 ビット バージョンのバインドがチェックされ、エラーが発生します。

解決策

64 ビット WCF LOB アダプター SDK のインストールに、BizTalk アダプター パックの 32 ビットバージョンと 64 ビット バージョンの両方をインストールします。

Von Bedeutung

64 ビットの WCF LOB アダプター SDK のみをインストールする必要があります。 1 台のコンピューターでの 32 ビットおよび 64 ビット WCF LOB アダプター SDK のサイド バイ サイド インストールはサポートされていません。

こちらもご覧ください

SQL アダプターのトラブルシューティング