Error - No valid adapters installed on the machine when using WCF SQL Adapter RRS feed

  • Question

  • After switching from Windows7 Enterprise 64 bit machine to Server 2008 64 bit machine, I installed 64-bit WCF LOB Adapter SDK,  64-bit BizTalk Adapter Pack, and 32-bit BizTalk Adapter Pack, I still get "No valid adapter insalled on the machine when tried "Consume Adapter Service". Why?



    The following is the detailed error:

    Microsoft.ServiceModel.Channels.Tools.MetadataSearchBrowse.MachineConfigException: No valid adapters installed on the machine.


    at Microsoft.ServiceModel.Channels.Tools.MetadataSearchBrowse.MetadataPanel.EnumerateAllAvailableBindings(String bindingExtensionName, String bindingConfiguration)


    at Microsoft.ServiceModel.Channels.Tools.MetadataSearchBrowse.MetadataPanel..ctor(MetadataUserControl usercontrol, AdapterProperties properties, String bindingExtensionName, String bindingConfiguration, String uri)

    Thursday, January 26, 2012 1:25 AM


  • I finally found the answer to my problem. You need to do the following:

    Please remind that we use .net framework 4, and the installation of WCF LOB Adapter were built on .net framework 3.5. If you check the configuration in “C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config” you will find :

    <add name=”sqlBinding” type=”Microsoft.Adapters.Sql.SqlAdapterBindingCollectionElement, Microsoft.Adapters.Sql, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    < add name=”sapBinding” type=”Microsoft.Adapters.SAP.SAPAdapterBindingSection, Microsoft.Adapters.SAP, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    < add name=”oracleDBBinding” type=”Microsoft.Adapters.OracleDB.OracleDBAdapterBindingSection, Microsoft.Adapters.OracleDB, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    < add name=”siebelBinding” type=”Microsoft.Adapters.Siebel.SiebelAdapterBindingSection, Microsoft.Adapters.Siebel, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    < add name=”oracleEBSBinding” type=”Microsoft.Adapters.OracleEBS.OracleEBSBindingCollectionElement, Microsoft.Adapters.OracleEBS, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ />
    < /bindingExtensions>

    < endpoint binding=”sqlBinding” contract=”IMetadataExchange” name=”mssql” />
    <endpoint binding=”sapBinding” contract=”IMetadataExchange” name=”sap” />
    <endpoint binding=”oracleDBBinding” contract=”IMetadataExchange”
    name=”oracledb” />
    <endpoint binding=”siebelBinding” contract=”IMetadataExchange”
    name=”siebel” />
    <endpoint binding=”oracleEBSBinding” contract=”IMetadataExchange”
    name=”oracleebs” />
    < /client>

    And if you compare with machine.config in .net framework 4 (C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config), you probably won’t find above configuration as part of machine.config. So what you can do, open .net framework 4 machine.config and copy above configuration. It’s surely solve the problem.

    It solved my problem. Now I can run WCF SQL adapter on my Win 7 machine!!!

    It is really great!


    • Marked as answer by s liu Thursday, January 26, 2012 4:42 AM
    Thursday, January 26, 2012 4:42 AM