アプリケーションを SQL Server 2008 データベースに接続しています。
次のプロバイダーの違いは何ですか: System.Data.SqlClient プロバイダーと SQLNCLI10.1 がある場合は?
SQL Server データベースへの接続に使用する必要があるのはどれですか?その理由は?
ありがとう、
アプリケーションを SQL Server 2008 データベースに接続しています。
次のプロバイダーの違いは何ですか: System.Data.SqlClient プロバイダーと SQLNCLI10.1 がある場合は?
SQL Server データベースへの接続に使用する必要があるのはどれですか?その理由は?
ありがとう、
System.Data.SqlClient
マネージドプロバイダーです。SQLNCLI
OleDB プロバイダーです。つまり、それらは可能な限り明確に区別されます。どちらも SQL Server に接続しているという事実以外に、実際には共通点はありません。しかし、まったく異なる無関係なテクノロジーを使用しています。アプリケーションでは、マネージ コード (.Net) を記述するときに SqlCLient を使用する必要があります。OleDB はネイティブ アプリケーション (C++) 用です。
唯一の違いは、後者が特定のバージョンを指定していることだと思います(コードがサーバーからサーバーに移動したり、ボックスがソフトウェアの更新などに触れたりすると、存在する場合と存在しない場合があります)。前者は「現在のバージョンを入手してください」と言うだけで、私の考えでは安全です。
古典的な ASP の時代にさかのぼると、最新バージョンを明示的に (たとえばProvider=SQLOLEDB.1
) 指定した方がうまくいくように思えたことを漠然と覚えていますProvider=SQLOLEDB
が、具体的なことは思い出せません。一部の Web ホストには最新のものがないことを覚えています。より新しいバージョンの明示的な要求は、「プロバイダーが見つかりません」のようなもので失敗しました。