SQLサーバーへの接続に 接続したいのですが・・・
質問する場所が 違ったかもしれないので 再度質問させていただきます。
SQLサーバーを始めたばかり です。
ASPで SQLサーバーのデータを表示しようとしています。
環境: WinXP (Pro)
IIS設定済み
SQL Server 2005 Express Edition
近くに2003サーバーがあるので 最終的にはそちらで動作させる予定です。
サーバーが現用機なので 自PCで動作確認してからと思っています。
色々ネットや本を調べて まず接続しようとしましたが そこでつまづいています。
この方法以外も沢山試しましたが全てうまく行きません。
2005 ExpressでDBとテスト用のテーブルが作成してあります。
そのデータを読み出せれば 第一段階とトライしますが、
IEから接続にいくと「objCon.Open」がエラーになってしまいます。
ASPファイルの内容は 以下です
なお DB名は 「作成した名前」と入れています
よろしく お願いします
----------------------------------------------------
<%@ LANGUAGE="VBScript" %>
<% option explicit %>
<%
Dim objCon ' DB接続コネクション
Dim objRS ' DB結果レコードセット
Dim sql ' SQL文
Dim errflg ' エラーフラグ
'DataSource名
Const DS = "111.111.0.1" ←IPアドレス。正しいものをいれてます
Const IC = "DB名"
'ユーザ名
Const User = "sa"
'パスワード
Const Pwd = "sa"
Set objCon = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
objCon.ConnectionString = "Provider=SQLOLEDB;" & _
"User ID=" & User & ";" & _
"Password=" & Pwd & ";" & _
"Data Source=" & DS & ";" & _
"Initial Catalog=" & IC
objCon.Open'ここで エラーになります
sql = "select * from Aテーブル"
objRS.Open sql,objCon,adOpenStatic,adLockReadOnly
%>
レコード件数 <%=objRS.RecordCount%>
<%
' DBclose
objCon.Close()
Set objCon = Nothing
objRS.Close()
Set objRS = Nothing
%>
なお エラー内容は 以下です
-----------------------------
HTTP 500.100 - 内部サーバー エラー - ASP エラー
インターネット インフォメーション サービス
エラー タイプ
Microsoft OLE DB Provider for SQL Server (0x80004005)
[DBNETLIB][ConnectionOpen (Invalid Instance()).]接続が正しくありません
-----------------------------
また
1.IPアドレスは Const DS = "127.0.0.1"でも 同様なエラーです
2.表示できるASPファイルを置き、他のPCから 表示できる環境です
補足
スイマセン。 自分だけわかっていることを説明するのは難しいですね。 >1.ASPは参照しかしないのか? これから参照してつかう予定です。 >2.アプリケーションて何? VBで作ったEXE? それともこれもASPなの? VCで作った(らしい)exeですが、他社が作ったため変更できないんです。 >3.IPアドレスを保存するのは何をした時の話? >4.NAT変換で同じIPが羅列するのは何の時?(3.と同じ話) exeは通信ツールなのですが、複数のクライアントに対して同期を取るために接続情報(ユーザ名やIPアドレス)を保存してます。 通信ツールをクライアントがADSLなどで、同じ場所から複数台つなぐと同じIP(REMOTE_ADDR)しか保存されないので、IPだけでユーザを判別できないんです。 クライアントマシンから、プログラム(exe)がSQL Serverにアクセスし、UserIDやIPをテーブルに書き込みます。 その情報を同じクライアントマシンからASPファイルを開いた時にUserIDを取得したいのです。 プログラムが変更できないため、SQL Serverにレコードがセットされる時にそのレコードにクライアントを後から判別できるような情報が書き込めるかという内容です。