0

ですから、SQLやVBScriptについてはよくわかりませんが、2つを組み合わせるのはましてやです。

SQL2008を実行しているSQLServerに接続しようとしています。接続するだけで、接続できないようです。次のようなさまざまなエラーが発生し続けます。

  • 「データソース名が見つからず、デフォルトのドライバが指定されていません」
  • 「ユーザー'user'のログインに失敗しました」
  • 「無効な文字」

http://www.connectionstrings.comについてはすでに知っていますが、多くのことの意味がわかりません。データソースとは何ですか?初期カタログとは何ですか?

これが私がこれまでに持っているものです。

Dim result
Set cn = CreateObject("ADODB.Connection")
cn.ConnectionString = "Provider=SQLOLEDB.1;Server=MyIP;Database=SQLDatabase;User ID=user;Password=pass"
cn.Open
strQry = "select * from Users"
set result = cn.execute(strQry)

誰かが私がこれの頭と尾を作るのを手伝ってくれる?

編集1:これは私がサーバー構成マネージャーに表示しているものです。

ここに画像の説明を入力してください

編集2:これを明確にしないことをお詫びします。ローカルマシンに接続していません。ネットワーク上のマシンに接続しています。

4

1 に答える 1

3

データソース=接続しているデータベースエンジンのインスタンス。ホスト名またはホスト名と名前付きインスタンスの組み合わせ。多くの場合、これはまたはですが、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;"
于 2012-06-21T17:47:36.330 に答える