こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQLサーバーへの接続が どうしてもウマくいきません

SQLサーバーを始めたばかり です。
ASPで SQLサーバーのデータを表示しようとしています。
環境: WinXP (Pro)
    IIS設定済み
    SQL Server 2005 Express Edition

近くに2003サーバーがあるので 最終的にはそちらで動作させる予定です。
サーバーが現用機なので 自PCで動作確認してからと思っています。

色々ネットを調べて まず接続しようとしましたが そこでつまづいています。
この方法以外も沢山試しましたが全てうまく行きません。

2005 ExpressでDBとテスト用のテーブルが作成してあります。
そのデータを読み出せれば 第一段階とトライしますが、
IEから接続にいくと「objCon.Open」がエラーになってしまいます。
ASPファイルの内容は 以下です
なお DB名は 「PC名¥SQLEXPRESS」といれています
よろしく お願いします
----------------------------------------------------
<%@ 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
%>

投稿日時 - 2010-02-02 23:48:22

QNo.5644822

すぐに回答ほしいです

質問者が選んだベストアンサー

#1です 

貴方の環境がわからないのですが
IISが稼働しているマシンにDBが入っているなら
Const DS = "111.111.0.1"

Const DS = "127.0.0.1"
でも試してください。

投稿日時 - 2010-02-04 09:27:28

補足

回答ありがとうございます。レスポンスが遅くなった事をお詫びします。

12.0.0.1で試しましたが エラーは同じところです。
----------
エラー タイプ
Microsoft OLE DB Provider for SQL Server (0x80004005)
[DBNETLIB][ConnectionOpen (Invalid Instance()).]接続が正しくありません。
/xxxx/xxx.asp, line 30

投稿日時 - 2010-02-05 09:22:24

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

#1です おはようございます。

TCP/IPを許可しているとのことですが、「ポート1433を解放している」に間違いないですか?
設定の仕方が分からなければファイアーウォールをOFFにして確認してみてください。

投稿日時 - 2010-02-04 09:20:44

補足

回答ありがとう ございます。レスポンスが遅くなりました。スミマセン。

SQLサーバーにて TCP/IPを有効にしてIPALLのTCPポートを1433にセットしています。ファイアーウォールを無効にしてやりましたが 同じエラーです。
よろしくお願いしmす

投稿日時 - 2010-02-05 09:56:28

ANo.2

#1です。

XPのファイアーウォールに引っ掛かっていませんか?

投稿日時 - 2010-02-03 17:59:36

補足

回答ありがとう ございます
ファイアーウォールは TCP/IPを許可しています。
普通のhtmlファイルは 他人からも 見る事ができています。

投稿日時 - 2010-02-03 19:25:43

ANo.1

以下を確認してみてください。

スタート→プログラム→Microsoft SQL Server2005→構成ツール→SQL Server Configuration Maneger起動

Server Configuration Maneger
左フレーム内のSQL Server2005ネットワーク構成→MSSQLSERVERのプロトコル 選択
右フレーム内の TCP/IPが有効になっているか?なっていなければ有効にする。

これでダメならエラーコードなりエラーメッセージを記載していただいたほうがよろしいかと思われます。

投稿日時 - 2010-02-03 10:03:40

補足

回答ありがとうございます。
エラーを載せるべきでした。
HTTP 500.100 - 内部サーバー エラー - ASP エラー
インターネット インフォメーション サービス
エラー タイプ
Microsoft OLE DB Provider for SQL Server (0x80004005)
[DBNETLIB][ConnectionOpen (Invalid Instance()).]接続が正しくありません
-----------------
なお TCP/IPの設定は OKでした。

投稿日時 - 2010-02-03 11:10:00

あなたにオススメの質問