sql >> データベース >  >> RDS >> Sqlserver

参照時にクライアントにSQLNCLI10プロバイダーがインストールされているかどうかを確認するにはどうすればよいですか?

    苛立たしいことに、Microsoftは、クライアントライブラリが存在するかどうかをテストする方法について明確な答えを出しているようには見えません。 Web検索とレジストリスニッフィングにより、少なくとも次のレジストリキーが明らかになります。

    HLKM\SOFTWARE\Microsoft\SQLNCLI11 (key:InstalledVersion)
    HLKM\SOFTWARE\Microsoft\SQLNCLI10 (key:InstalledVersion)
    HKLM\SOFTWARE\Microsoft\Microsoft SQL Native Client\CurrentVersion (version 9, i presume?)
    HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 10.0\CurrentVersion (key:Version)
    HLKM\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 11.0\CurrentVersion (key:Version)
    

    MSDNのこのブログ投稿 レジストリキーを使用して関連する質問(SQL Server Expressがインストールされているか)に答えるのは間違っている、間違っている、間違っている、代わりに200行のWMIコードを記述する必要があることを示唆しています。 WMIアプローチは 同様に文書化されておらず、私にとってさらに脆弱です。

    Microsoftでは、SQLNativeClientパッケージの再配布が許可されている 、おそらく最良の選択は、アプリケーションのインストーラーにmsiを含めて、必要かどうかに関係なく実行することです。 提供されているさまざまなドライバーでサポートされているオペレーティングシステムのリスト を参照してください。 これは、バージョン10.5(!)もあることを示しています。

    SQLNCLIはMDACベースのドライバーと並行してインストールされるため、msiexecを安全に実行できるはずです。 これについては、詳細を処理させてください。



    1. セグメントに障害が発生することなく、Ruby1.8.7を搭載したOSX Lionでgemインストールを機能させるにはどうすればよいですか?

    2. Oracle:行タイプデータを別のテーブルに挿入します

    3. JPACriteriaAPIを使用して文字列の日付フィールドを検索する方法

    4. PHPMySqlJQueryを使用してajaxドロップダウンメニューにデータを取得する