3

クライアントが SQL Native Client ODBC データ ソース経由で SQL Server 2005 データベースに接続しているアプリケーションがあります。プログラムの実行中に ODBC 接続が切断されるという問題が発生しています。技術サポート担当者に質問した後、彼は以前にこの種のエラーを見たことがあると言いましたが、TCP/IP ではなく (主に) 名前付きパイプを使用して接続するようにクライアントを構成することで問題を解決しました。

そのため、いくつかの調査を行い、SQL Server 構成マネージャーを使用して、サーバー上のクライアント アクセスを構成する場所を見つけました。ただし、クライアント マシン自体で SQL Native Client ODBC データ ソースを構成する方法はないようです。古い SQL Server ODBC ドライバーでは、名前付きパイプまたは TCP/IP を使用するように構成できましたが、SQL Native Client ではできません。

SQL Native Client データ ソースは、データベースへの接続に使用する方法を自動的に決定しますか? それを構成する方法はありますか?…そして、特定のクライアント マシンが接続に使用している方法を見つける方法はありますか?

どんな助けでも大歓迎です。

--マイク C さん、ありがとうございます。

4

3 に答える 3

5

接続文字列で使用されるプロトコルを設定できることに注意してください。マシンを構成する必要はありません。マシン上で実行されているすべてのアプリケーションに影響するため、cliconfg を使用してマシン構成を変更しないことをお勧めします。

したがって、ネットワーク プロトコルを設定するには 2 つの方法があります。

  1. プロトコル プレフィックスを使用します。

    Server=tcp:myserver
    Server=np:myserver

    tcp:プレフィックスは、tcp プロトコルを使用することを意味します。 np:プレフィックスは、名前付きパイプ プロトコルを使用することを意味します。接続先のサーバー名の前にこれを貼り付けてください。

  2. 2 つ目の方法は、接続文字列に Network キーワードを設定することです。

    Network=dbmssocn
    Network=dbnmpntw

私はこれらのネットワーク タイプの略語を思い出せないので、プロトコル プレフィックスを好みます。

于 2011-08-10T22:35:41.743 に答える
1

たぶん、これでうまくいくでしょう:

4) SQL Native Client ODBC/OLEDB プロバイダー ({SQL Native Client} または SQLNCLI) を使用している場合は、SQL 構成マネージャーに移動し、クライアント プロトコルをクリックして、NP と TCP の両方が有効になっていることを確認します。NP のプロパティを右クリックし、クライアントがサーバーと同じパイプ名を接続に使用していることを確認します。

ノードは実際には「SQL Native Client Configuration」です。優先度を変更し、そこから無効にすることができます。

http://blogs.msdn.com/sql_protocols/archive/2007/03/31/named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server.aspxから

于 2008-12-02T20:38:41.940 に答える
0
  1. 名前付きパイプがODBC接続の切断に対する何らかの答えであるかどうかはわかりません。最初に問題の原因を特定しないと、名前付きパイプを当てにできません。私は間違っているかもしれませんが。この問題を説明するエラーが表示されますか? これは、ネットワークに関連している可能性があります。

  2. それ以外の場合は、クライアント マシンでこれを構成するのは非常に簡単だと思います。cliconfg (SQL Server クライアント ネットワーク ユーティリティ) を実行するだけです。[一般] タブで、名前付きパイプ プロトコルが有効になっていることを確認してから、[エイリアス] タブに移動し、名前付きパイプを使用してサーバーのエイリアスを作成します。

幸運を。

于 2008-12-31T21:46:09.863 に答える