0

SQL Server Native Client ドライバーを使用して SQL Server LocalDB インスタンスに接続しようとしています。これは、本番環境で Native Client を使用して、SQL Server の SSL 暗号化でサブジェクト代替名を使用できるようにするためです。これまでのところ、私はあまり運がありません。これはサポートされているシナリオですか? 私の接続文字列は次のとおりです。

<add name="Database" connectionString="Driver={SQL Server Native Client};Server=(localdb)\v11.0;Integrated Security=True;AttachDBFileName=|DataDirectory|Database.mdf;" providerName="System.Data.Odbc" />

私が受け取っているエラーは次のとおりです。

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

接続方法について何か考えはありますか?

4

3 に答える 3

1

11.0 プロバイダーの使用に加えて、

  • SqlLocalDb のインスタンスを作成しましたか?
  • インスタンスを起動しましたか?
  • あなたが所有者でない場合は、試してみました(localdb)\.\InstanceNameか?

私は最近、次の Wiki ページの一連のコンテンツを更新しました。

http://social.technet.microsoft.com/wiki/contents/articles/4609.troubleshoot-sql-server-2012-express-localdb.aspx

また、接続文字列にはネイティブ クライアントと ODBC の両方が記載されていますが、これは意図的なものですか? そして、意図的に AttachDbFilename を使用していますか?

于 2012-04-25T00:13:06.793 に答える
0

3日間の懸命な調査と試行の末、これをどのように解決したかを以下に示します。ハッピーホリデーと素晴らしい新年を願っています。

  1. 左側のスキャフォールディングにある SQL Server 構成マネージャー (SQLServerManager11.msc): MS SQL Server Native Client(私の場合は11.0)の「クライアントプロトコル」を右クリックし、右側のリストでTCP / IPを右クリックして無効にし、「メモリ共有」のみを有効にします(ランク順#1として)および「名前付き配管' (ランク順 #2); b. MSSQL SNC の足場を降りて、[エイリアス] を右クリックし、右側のリストで完全に空白で除外します。c. scaffolding の MS SQL SNC (32 ビット) オプションについては、'a' と 'b' を繰り返すことができます。

理由: SQL Server LocalDb の同じマシン上の単一のローカル クライアントとして、TCP/IP ポートを介して接続する必要はなく、メモリを共有したり、より効率的なオプションをパイプする名前を付けたりする必要はありません。

  1. SQL クライアント マネージャー (cliconfg.exe) で [全般] タブを選択した後、[プロトコルを順番に有効にする] リストを無人のままにして、完全に空白にし、[メモリ共有プロトコルを有効にする] ステートメントをマークします。次に、「エイリアス」タブを選択して、「サーバーエイリアス構成」リストも完全に空白にします

理由: '1' と同じ、現在クライアント側を構成中

  1. 今すぐ簡単に: a. a. localdb\instance (通常は (localdb)\v11.0) に接続して MS SQL SNC を起動します。SQL Server Management Studio (SSms.exe) で必要な場合は、起動して必要なデータベースに接続するか、Visual Studio を使用してこの接続を作成します。ODBC アドミニストレーター (odbcad32.exe) を起動し、[ユーザー データ ソース] タブを選択し、[追加] をクリックします。ポップアップで、データベース名 (汎用、後で参照)、データベースの説明 (ID)、「localdb\instance」サーバーを入力します。 「次へ」をクリックし、もう一度「次へ」をクリックし、「標準データベースを変更する」をマークし、リストで「a」に接続および接続されている必要なデータベースを選択し、「次へ」をクリックして「終了」をクリックします。次に、新しいポップアップで「データソースのテスト」をクリックして、成功したことを確認します。されております
于 2015-01-02T16:08:41.627 に答える
0

LocalDB をサポートするネイティブ クライアントのバージョンを使用する必要があります。バージョン 9 を使用しています。試してください:

Driver={SQL Server Native Client 11.0}

マイクロソフトはずっと前にこれを呼びかけました

アクティベーション ロジックはクライアント側プロバイダーに存在するため、最新の SQL Server Native Client "Denali" (ODBC および OLE DB 用) または次の .NET Framework (ADO.NET 用) をインストールする必要があることに注意してください。

于 2012-04-25T00:05:31.410 に答える