データソース=接続しているデータベースエンジンのインスタンス。ホスト名またはホスト名と名前付きインスタンスの組み合わせ。多くの場合、これはまたはですが、IPアドレスlocalhost
またはlocalhost\SQLEXPRESS
完全修飾ドメイン名(ネットワークの内部または外部)の場合もあります。
初期カタログ=接続するデータベース。接続文字列で使用されるユーザー名/パスワードに関連付けられているログインは、特定のサーバーロールに関連付けられているか、少なくともパブリックロールに属するデータベース内のユーザーに関連付けられている必要があります。
SQL Server Express Editionをインストールした場合、接続文字列は次のようになります。
cn.ConnectionString = "Provider=SQLNCLI10;" & _
"Data Source=myIP\SQLExpress;" & _
"Initial Catalog=SQLDatabase;" & _
"User ID=user;Password=pass"
それが正しい接続文字列であるかどうかはわかりません。たとえば、デフォルトのインスタンスをインストールした場合や、インスタンスに別の名前を付けた場合などです。何か問題がある場合に備えて、(Expressをインストールしなかったと言ったので)試すことができる他のバリエーションmyIP
:
"Data Source=localhost;" & _
または
"Data Source=(local);" & _
または
"Data Source=.;" & _
または
"Data Source=127.0.0.1;" & _
実際にインストールしたものを確認するには、[スタート]>[すべてのプログラム]>[SQL Server2008]>[構成ツール]>[SQLServer構成マネージャー]に移動し、[SQLServerサービス]をクリックします。右側のペインに、次のようなものが表示されます。
あなたのインスタンス名は私のものと一致しないかもしれませんが。が表示されている場合SQL Server (MSSQLSERVER)
、これはデフォルトのインスタンスであり、接続文字列のデータソースは.
または(local)
または(localhost)
です。表示されている場合はSQL Server (something other than MSSQLSERVER)
、.\something other than MSSQLSERVER
などです。インスタンスが実行されているかどうかも確認できます。これは別の問題である可能性があります。接続するインスタンスが停止している場合は、右クリックして[開始]を選択するまで接続できません。また、インスタンスを右クリックして[プロパティ]を選択すると、サービスが自動的に開始するように設定できるため、次に再起動するときにこのプロセスを繰り返す必要がありません。サービスを常に実行したい場合。
構成マネージャーに表示される内容を表示すると、必要な正確な接続文字列をサポートできます。
編集
これで、更新されたエラーメッセージが表示されます。これには次のものが含まれます。
[DBNETLIB][ConnectionOpen (Connect()).]
あなたはいくつかのオプションを試すかもしれません:
(1)TCP/IPが有効になっていることを確認します。構成マネージャーの[SQLServerネットワーク構成]>[MSSQLSERVERのプロトコル]で、[TCP / IP]を右クリックし、[有効にする]を選択します。SQLServerを再起動する必要があります。(共有メモリを使用できるはずですが、これは私が常に従来のASPを構成していた方法です。)
(2)接続文字列に以下を追加します。
cn.ConnectionString = "Provider=SQLNCLI10;" & _
"Data Source=localhost;" & _
"Initial Catalog=SQLDatabase;" & _
"User ID=user;Password=pass;" & _
"Network=DBMSSOCN;"