• ベストアンサー
  • 困ってます

SQLServerにodbcで接続

こんにちは。 WindowsServer2003でIIS・SQLServer・ASP(VBScript)を使って簡単なデータベースを作りたいのですが、いきないつまずいています。 testデータベースをSQLServerで作り、ODBCに【odbcsqlsv】と登録しました。 ASPスクリプトを <%@ Language=VBScript %> <html> <head> <title>動作テストHTML</title> </head> <body> <% Response.Write "テストーASP" Set cn = server.CreateObject("ADODB.Connection") StrCn ="odbcsqlsv" cn.Open StrCn strSQL = "SELECT * FROM table2" Set RS = cn.Execute(strSQL) Do While Not RS.EOF Response.Write RS.fields("name") RS.movenext Loop cn.close set cn = nothing %> </body> </html> を書き実行すると Microsoft OLE DB Provider for ODBC Drivers エラー '80040e4d' [Microsoft][ODBC SQL Server Driver][SQL Server]ユーザー '(null)' のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。 とエラーが出ます。 SQL Serverの信頼関係接続とは何でしょうか? また関連付けはどのようにして行ったらよいのでしょうか? すみませんが、ご教授のほどをよろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数3642
  • ありがとう数7

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

  • ベストアンサー
  • 回答No.2

こんな感じでいかがでしょう? ODBCが作成されている事が前提です。 <% dim OBJ dim sqlstm SET DBOBJ=SERVER.CREATEOBJECT("ADODB.CONNECTION") DBOBJ.OPEN "ODBCデータソース名","ユーザーID","パスワード" sqlstm="SELECT * FROM table2" SET OBJ=DBOBJ.EXECUTE(sqlstm) %> 解決できるといいですね。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • うまく表示されません。

    MS SQL SERVERを使い始めた初心者です。 環境は XP、IIS6.0、SQL2000SERVER です。 エラーメッセージ> Microsoft OLE DB Provider for ODBC Drivers (0x80040E37) [Microsoft][ODBC SQL Server Driver][SQL Server]オブジェクト名 'tblMember'が間違っています。 /test/Connection_3.asp, line 12 ソース> 1:<html> 2:<head> 3:<title>Connect</title> 4:</head> 5:<body> 6: 7:<% 8:Set ConnDB = Server.CreateObject("ADODB.Connection") 9:ConnDB.Open = "DSN=dbMember;UID=sa;PWD=sa;" 10: 11:strSQL = "INSERT INTO tblMember(id,pwd,name,phone) VALUES('melon','4444','일지매','019-999-9999')" 12:Set objRs = ConnDB.Execute(strSQL) strSQL = "SELECT * FROM tblMember" Set objRs = ConnDB.Execute(strSQL) Do While objRs.EOF = False Response.Write objRs("name") & " " Response.Write objRs("phone") & "<BR>" objRs.MoveNext Loop objRs.Close ConnDB.Close Set objRs = Nothing Set ConnDB = Nothing %> </body> </html> これでソースでやるとうまく表示されません。 どうしてなのでしょか?ご教授のほどよろしくお願いいたします。

  • VBScriptを使いたい。

    VBScript初心者なのですが、簡単なVBScriptを書いてテストしようとしても、IEに表示されません。なにか設定とか必要なんでしょうか? <%@ LANGUAGE="VBScript" %> <HTML> <HEAD> <TITLE>テスト</TITLE> </HEAD> <BODY> <% Response.Write "テスト" %> </BODY> </HTML>

  • Access2000のデータをASPで表示させるには?

    間違ってソースを全部消してしまって、記憶を頼りに戻してみたのですが、Accessのデータの表示方法がわからなくなってしまいました。 ↓これがそのソースです <%@ LANGUAGE="VBScript" %> <% Option Explicit %> <Html> <Head> </Head> <Body> <% Dim db,rs,sql Set db = Server.CreateObject("ADODB.Connection") db.Open ("db1")←データベース名入れるんですよね? sql = "Select id,namae,n_yomigana,juusyo,j_yomigana From table1 where db1" Set rs = db.Execute (sql) Response.Write rs.fields("id") Response.Write "<br>" Response.Write rs.fields("namae") Response.Write "<br>" Response.Write rs.fields("n_yomigana") Response.Write "<br>" Response.Write rs.fields("juusyo") Response.Write "<br>" Response.Write rs.fields("j_yomigana") Response.Write "<br>" rs.close db.close %> </Body> </Html> ソースを丸ごと載せてしまってごめんなさい、読みにくいですよね。 足りないところや直し方が思い出せなくて困っています。 ご迷惑おかけしますが、アドバイスお願いします。

その他の回答 (1)

  • 回答No.1
  • corp
  • ベストアンサー率40% (13/32)

こんにちは。 参考URLが役に立つかもしれません。 エラー番号で調べる事が重要です。

参考URL:
http://www.shoeisha.com/mag/windev/pdf/870505/windev0505_135_SQLServer.pdf

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • VB6からSQLServer7に加工したデータを、正常に追加できません。なぜ?

    VB6から、SQLServerに対して 加工したデータを追加するプログラムをしています。 (環境:Windows2000 Pro + VB6[SP5] + SQLServer[7.0]) 一度、「sampletable」のデータを全件削除した上で、 必ず2回以上実行するループ処理の中で、Insert文を発行しています。 がしかし、プログラム実行後にSQLServerのデータベースを検索してみると、 何故か、最後に実行したInsert文しか、正常に実行終了していないようなのです。 (最後のループ処理でInsertされたデータしか、追加されてないのです。) 何か、プログラム上で、おかしいところとか 抜けているところとかございましたら、教えて下さい。 <サンプルプログラム> ' SQL Server へ接続 Set cn = New ADODB.Connection cn.Open "Provider=SQLOLEDB;" & _ "Data Source=(localhost);" & _ "Initial Catalog=database", "login", "passwd" ' 一度、テーブルデータを削除する strSQL = "delete from sampletable" Set rs = cn.Execute(strSQL) Do 'このループ処理は、2回以上、必ず動作します。 ・・・ (データ加工処理) ・・・ ' データを追加する strSQL = "INSERT INTO sampletable(xxx, xxx, xxx) " & _ "VALUES('" + HENSUU-A + "','" + HENSUU-B + "','" + HENSUU-C + "')" Set rs = cn.Execute(strSQL) Loop ' SQL Server 接続を閉じる cn.Close

  • ODBC使用時の正しい記述方法

    データベース初心者です。 ODBCの正しい記述方法についてご教示願います。 以下のソースでデータベース間のテーブルコピーを試したところができるものとできないものがあります。 テーブルはすべて作成済み、Windows認証です。  環境 OS:WidowsXp、Access2003、Excel2007、SQL ServerExpress2008 (1)SQL Server ⇒ SQL Server  記述の方法に問題があるようなメッセージです。  ドライバやテーブルの指定が同様な記述で(4)や(5)がOKなのに(1)ではNGです。DRIVER指定ができないようです。 エラーメッセージ "[Microsoft][ODBC SQL Server Driver][SQL Server]オブジェクト名 'odbc;DRIVER=SQL Server;Server=Server1\\SQLEXPRESS2;Database=TEST1;Integrated Security=SSPI;.TABLE1' が無効です。" (2)は仕様上出来ないのでしょうか? エラーメッセージ "[Microsoft][ODBC Microsoft Access Driver] ODBC を使用して、外部 Microsoft Jet データベース エンジンのテーブルや組み込み可能な ISAM データベースのテーブルのインポート、エクスポート、またはリンクを行うことはできません。" 実用上はOLEを使用しているので問題はありませんが、向学のためによろしくお願いします。 /////////////////////////// ソース ///////////////////////////////////// (1)SQL Server ⇒ SQL Server 動作NG Sub sqlsvr2sqlsvr() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={SQL Server};Server=Server1\SQLEXPRESS1;Database=TEST1" strSQL = "INSERT INTO [odbc;DRIVER=SQL Server;" & _ "Server=Server1\SQLEXPRESS2;Database=TEST1;" & _ "Integrated Security=SSPI;].TABLE1 " & _ "SELECT * FROM TABLE1" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (2)Excel ⇒ Access 動作NG Sub Access2Excel() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\TEST1.MDB" strSQL = "INSERT INTO [DRIVER={Microsoft Excel Driver (*.xls)};" & _ "DBQ=C:\TestBook.xls;ReadOnly=False].[Sheet1$] " & _ "SELECT * FROM TABLE1" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (3)Excel ⇒ Excel 動作OK Sub Excel2Excel() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "odbc;DRIVER={Microsoft Excel Driver (*.xls)};DBQ=C:\TestBook.xls;ReadOnly=False;" strSQL = "INSERT INTO [C:\TestBook2.xls].[Sheet1$]" & _ "SELECT * FROM [Sheet1$]" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (4)Access ⇒ SQL Server 動作OK Sub access2sqlsvr() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\TEST0.MDB" strSQL = "INSERT INTO [odbc;DRIVER=SQL Server;" & _ "Server=Server1\SQLEXPRESS1;Database=TEST1;" & _ "Integrated Security=SSPI;].TABLE1 " & _ "SELECT * FROM TABLE1" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (5)Excel ⇒ SQL Server 動作OK Sub excel2sqlsvr() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=C:\TestBook.xls;ReadOnly=False;" strSQL = "INSERT INTO [odbc;DRIVER=SQL Server;" & _ "Server=Server1\SQLEXPRESS1;Database=TEST1;" & _ "Integrated Security=SSPI;].TABLE1 " & _ "SELECT * FROM [Sheet1$]" cn.Execute strSQL cn.Close Set cn = Nothing End Sub (6)Access ⇒ Access 動作OK Sub Access2Access() Dim cn As New ADODB.Connection Dim strSQL As String cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\TEST0.MDB" strSQL = "INSERT INTO T_写真台帳1 SELECT * FROM [C:TEST1.MDB].T_写真台帳" cn.Execute strSQL cn.Close Set cn = Nothing End Sub

  • ファイルのダウンロード

    こんにちは CSVファイルをダウンロードさせるページを作成 しています。 しかし、ファイル名がaspファイルになってしまいます。 いろいろ調べてみたのですが、原因がつかめなかったので解決策を教えて下さい。 ソースは下記の通りです。 ================================ <% @Language="VBScript" %> <HTML> <HEAD> <TITLE>CSV出力</TITLE> </HEAD> <BODY> <% 'CSV出力 Response.ContentType = "application/octet-stream" Response.AddHeader "Content-Disposition","attachment; filename=test.csv" Response.write Session.Contents("USER_NO") & "," Response.write Session.Contents("SS_BUCD") & "," Response.writeline Session.Abandon Response.End %> 【メッセージを記入予定】 </BODY> </HTML> ================================ HTMLが含まれているのが問題なのでしょうか? しかし、HTMLを取り除いても現象が変わりませんでした。 よろしくお願い致します。

  • 何がいけないのでしょうか・・・?

    html初心者です。 よろしければおつきあいください。 以下の4つのファイルを作ってみました。 (1)document.html  <html>  <head><title>action check</title></head>  うまくいくでしょうか?  <script lang="VBScript">   Document.Write ("ここがうごくとスクリプトの中")  </script>  テストです  </html> (2)response.html  <html>  <head><title>action check</title></head>  うまくいくでしょうか?  <script lang="VBScript">   Response.Write ("ここがうごくとスクリプトの中")  </script>  テストです  </html> (3)document.asp>>>>(1)の中身のまま拡張子を変えたもの (4)response.asp>>>>(2)の中身のまま拡張子を変えたもの 以上をhttpサーバーにアップして、表示させてみました。 すると(3)のみ   うまくいくでしょうか? ここがうごくとスクリプトの中 テストです と表示されるのですが、残りの3つは   うまくいくでしょうか? テストです と表示されます。 ここで質問です。 (あ)(1)、(2)、(4)の表示結果がなぜ、    (3)のようにならないのでしょうか。    (最初の意識としては(3)のような表示結果になること    を望んで4つのファイルを作りました。) (い)(3)はうまく動いているようですが、    (3)の表示結果のようになるということは、    このファイルがおかれているサーバーは    ASPが動くと考えて良いのでしょうか? わかりにくくて申し訳ありませんが ご教授いただけると幸いです よろしくお願いします。

    • ベストアンサー
    • HTML
  • ASPの初歩的な質問です

    ASPは全く初心者です。これから始めようと思っています。 初歩的な質問で申し訳ないのですが、テキスト本に載っているサンプルコードの内、ブラウザで表示されるものとされないものがあり、原因がよくわかりません。IISの設定なのかと思い、色々と調べていましたが全くわかりません。原因を教えてください! 【表示されるコード例】 <%@ Language=VBScript %> <html> <head> <title>Hello</title> </head> <body> <% '文字列を表示します。 Response.Write "Hello" %> 文字列を表示します。 <% = "Hello" %> </body> </html> 【表示されない(エラー)コード例】 <% StrText=Request.Form("text1") %> <html> <head> <title>フォームの入力値を受け取る</title> </head> <body> <% Response.Write "入力された値:" & StrText %> <form method="post" action="form.asp"> <input type="text" name="text1" > <input type="submit" value="送信" > </form> </body> </html>

  • ADOでACCESSへの接続について。

    アクセスへの接続の部分で、パスワードを設定しなければ普通に接続できてデータも取得できました。 しかし、パスワードを設定するとエラーが出ます。 パスワードは"ttt"で間違いないのですが。。。 やはり、どこか間違っているのでしょうか? アドバイスお願いします。 「実行したASP」 <% Set cn = Server.CreateObject("ADODB.Connection") %> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=shift_jis"> <TITLE>バージョン情報</TITLE> </head> <body> <B>ActiveX Data Object Version Information</B><BR> version:<%= cn.Version %><BR> <% cn.Open "Memo","","ttt" %> <% cn.Close %> <% Set cn = Nothing %> </body> </HTML> 「エラーメッセージ」 エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] パスワードが正しくありません。 /L02_02.asp, line 10 ブラウザ タイプ Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)

  • IIS7.0 と ASP を使ってMDBファイルを参照したい

    みなさんこんばんわ。 IIS7.0 と ASP を使ってMDBファイルを参照したいのですが、 エラーが出て、ページを開くことが出来ません。 エラー表示は HTTP500内部サーバーエラー と表示されます。 エラーでとまる部分は以下コードの Point002 と Point003 の間です。 Response.Write "<p>Point001" Set Objconn = Server.CreateObject("ADODB.Connection") Response.Write "<p>Point002" Objconn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath(DB_Pass) Response.Write "<p>Point003" StrSQL="select * from " & Table_Name Set Objrs = Server.CreateObject("ADODB.Recordset") Response.Write "<p>Point004" Objrs.Open StrSQL, ObjConn Response.Write "<p>Point005" ODBC を使う方法もあるようですが今回は ODBC を使わないでMDBファイルを参照したいのです。 よろしくお願いします。 環境 OS→Windows Vista Ultimate Access→Access2000 IIS→IIS7.0 使用言語→VBScript

  • ASPが動かない

    こんにちはASPが動かないので、どなたかHELP下さい。 以前はNT 4.0+IIS4で取り合えずASPは動いていたのですが Win2000 + IIS 5.0に再インストールしてから動作しなくなりました。 ASPのファイルを見るとASPのアイコンにならないことからASPがインス トールされていないのかなと思いつつ調べていますが判りません  こんなのも動かない    ↓ <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis"> <title>List 3.1</title> </head> <body> <!-- ここはコメントです --> <% Response.Write "一般的なHTMLです" %><br> </body> </html>

  • 【SQLServer接続のJSPの記述を教えて下さい!】

    いつもありがとうござます。 今回、SQLServerのテーブルを使用したjspを作成しているのですが MS ACCESSしか使用した事がなく設定が分からなく困っています。 ソースはこんな感じです。 <%@ page contentType="text/html;charset=Windows-31J" %> <HTML> <HEAD> <TITLE>一覧</TITLE> </HEAD> <BODY bgcolor="#ffffcc"> <CENTER> <%@page import="java.sql.*"%> <% class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); Connection con = DriverManager.getConnection(test,no,nono); string sql = "select * from T_Transfer"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ out.print(rs.getString("F1")); out.print(rs.getString("F2")); out.print(rs.getString("F3")); out.print(rs.getString("F4")); out.print(rs.getString("F5")); out.print(rs.getString("F6")); out.print(rs.getString("F7")); } con.close(); %> </CENTER> </BODY> </HTML> コンパイルできないとのエラーがでます。 xmlは記述が分からないので一切触っていません。 上記ソースの場合のxmlの記述もご教授下さい。 宜しくお願い致します!

    • ベストアンサー
    • Java
  • SQLServerに接続できない

    SQLServerを別PCにて稼動させて、クライアントPCよりVBAにて接続を試みているのですが、「SQLServerが存在しないか、アクセスが拒否されました。」と出て、接続が出来ません。 何が問題なのか分からず、困っています。 どなたかご教授頂けないでしょうか。 (ローカルで接続する分には、接続が出来る事を確認しています。) また、環境は以下のような形です。 ServerPC名:AAA SQLバージョン:SQLServer2005Express ServerOS:Win2003Server ログイン用アドレス:TAROU クライアントのVBAは以下のような記載をしています。 ------- Dim strSQL As String Dim rsTmp As ADODB.Recordset Dim DB As String DB = "Provider=MSDASQL;Driver={SQL Server};" & "Server=AAA\SQLEXPRESS;" & "Database=TEST;" & "" Set rsTmp = New ADODB.Recordset strSQL = "SELECT * From TEST_TABLE" rsDeli.Open strSQL, DB, adOpenStatic, adLockOptimistic -----------------