2

接続先のデータベースがSQLServer2005からSQLServer2008に移動された古いvb.netプログラムをサポートしています。SQLServer2008に、ODBC接続でデータベースへのアクセスを許可するが、VB.NETでのアクセスを許可しない設定はありますか。プログラムで接続しますか?

私がアプリで受け取り続けるエラーは次のとおりです。

サーバーへの接続の確立中にエラーが発生しました。SQL Server 2005に接続する場合、この失敗は、既定の設定ではSQLServerがリモート接続を許可しないことが原因である可能性があります。(プロバイダー:名前付きパイププロバイダー、エラー:40 – SQL Serverへの接続を開くことができませんでした)

ただし、SQLサーバーインスタンスへのシステムDSNを作成するとき、およびVS2005の[ツール]>>[データベースに接続]を使用して接続することはできます。

接続に使用しているコードは次のとおりです。

dim strC as string 
strC = "data source=bob; database=subscribers; user id=bobuser; password=passme" 
dim connection as New SqlClient.SqlConnection(strC)  
try     
   connection.open() 
catch ex as Exception     
   msgbox(ex.message) 
end try  
connection.Close()
4

2 に答える 2

2

このような設定はありませんが、次の理由で可能です。ODBC DSNを使用すると、サーバーへの一種のローカルブリッジが作成されるため、ODBC経由でサーバーにアクセスできます。クライアントマシンのSqlClientライブラリを使用してVB.NETコードからサーバーに接続しようとすると、SQLServerがリモート接続を受け入れる必要があります...

ヘルプについては、このMSDNの記事を確認してください。

簡単に言えば:

  • リモート接続を許可するようにSQLServerを設定する必要があります
  • ファイアウォールがSQLServerのポートをブロックしていないことを確認する必要があります
  • TCP/IPが通信として有効になっていることを確認してください。SQLServerのメカニズム
于 2011-01-06T19:51:05.413 に答える