Server.CreateObjectでエラー発生

このQ&Aのポイント
  • Win98+PWSでのASP開発時にServer.CreateObjectでエラーが発生しています。
  • 質問者はjavascriptでデータチェックし、OKならvbscriptでDBへの書き込みを行いたいとしています。
  • しかし、Set conn = Server.CreateObject("ADODB.Connection")の部分でエラーが表示されており、解決方法を求めています。
回答を見る
  • ベストアンサー

Server.CreateObjectでエラー発生

昨日もお世話になりました、naritanです。 Win98+PWS(ノートPC/LAN接続なし)の環境下で、ASPでの開発を行っております。 入力されたデータをjavascriptでチェックをかけて、OKならサーバ側vbscriptにて DBへの書き込みをしようとしています。 業務上でもASPを使っているのですが、 環境が異なり、その上、初心者ですので、本を読んでいても イマイチ何がなんだか訳がわかりません。 そこで、お聞きします。 (1)入力された値をjavascriptでチェックして、OKならサーバ側vbscriptでdbへ登録するにはどのように記述したらよいのでしょうか? (2)自分なりに(1)を記述してみたのですが、 Set conn = Server.CreateObject("ADODB.Connection") の部分で、Serverオブジェクトが見つからないという、エラーが表示されます。 そろそろ頭が爆発しそうなので、よろしくお願いいたします。

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

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

えっと、javascriptは、クライアントサイドのスクリプトですか? もしそうであれば、クライアントサイドのスクリプトからServerオブジェクトはアクセスできないと思います。(経験なし すいません) いちばん簡単なのは、javascriptとチェックした結果をformなどでサーバーに送り(別ページになります)、そのページでServerオブジェクトを使ってデータベースに書き込まれてはどうでしょうか? もしどうしても、入力のページのまま、データを書き込みたいのであれば、JAVAアプレットを使うか、ActiveXドキュメントを使ってDCOMでサーバーと通信をするしかないのではないでしょうか?(DHTMLでもできると聞いたことはありますが、自信はありません)

forester
質問者

お礼

ありがとうございます。 早速、formでサーバに送って作成してみます。

関連するQ&A

  • Global.asaxで Server.CreateObject("ADODB.Connection")が出来ない

    ASP→ASP.netへ移行作業をしています。 Global.asaで、 set Application("DB") = Server.CreateObject("ADODB.Connection") を、 Global.asaxで、 Application("DB") = Server.CreateObject("ADODB.Connection") としたのですが、エラーで、 「コンポーネント 'ADODB.Connection' を作成できません。アパートメント スレッド コンポーネントは、<%@ Page aspcompat=true %> ページ ディレクティブを含むページでのみ作成できます。 」 となってしまします。 <%@ Page aspcompat=true %>を記述すればよいのかと思い、Global.asax中に記述しましたが、エラーになってしまいました。 'ADODB.Connection'を作成するには、どうすればよいでしょうか?

  • ASPでORACLEのエラーが発生するのですが、対処方法をお教えください。

    Win2000(IIS) + ORACLE8.1.6 でASPを使ったWEBサーバを構築しようとしています。 まず手始めに、単純にデータを登録するような簡単なASPを作成しようとしているのですが、 下記処理が、133行目でエラーになってしまいます。 ※当然の事ながら、ODBC接続の設定は正常に行えていることを確認しております。  (Accessでリンクテーブルを使って、ODBC経由でテーブルにデータを追加できます。) <処理内容 (/Oracle/newtoroku.asp の一部)> 126行目 Dim Conn,SQL,RS 127行目 DBName="Provider=msdaora;Data Source=xxxxx;User ID=xxxxx;Password=xxxxx" 128行目 Set Conn = Server.CreateObject("ADODB.Connection") 129行目 Conn.open DBName 130行目 SQL = "select * from XXテーブル" 131行目 Set RS = Server.CreateObject("ADODB.Recordset") 132行目 RS.Open SQL, Conn,3,2 133行目 rs.AddNew <エラー内容> ADODB.Recordset (0x800A0CB3) 現在の Recordset は更新をサポートしていません。 プロバイダか、選択されたロックタイプの限界の可能性があります。 /Oracle/newtoroku.asp, line 133

  • 海外サーバでのエラー

    ASPを勉強中です。 海外サーバをレンタルしています。 自宅のパソコンにPWSをインストールして動作確認を行ったASPファイルを、海外サーバにアップロードしたら、 Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] Selected collating sequence not supported by the operating system. /sample/name_entry.asp, line 55 と表示されてしまいます。 実際のソースは <% '===== 参加者名ををSankaTableに記録する ===== 'データベースとの接続を確立する Set Con = Server.CreateObject("ADODB.Connection") Con.Open "Chat"←サーバのODBCパスは設定済 'トランザクション開始 Con.BeginTrans 'テーブルを開く Const adLockOptimistic = 3 Set Rec = Server.CreateObject("ADODB.Recordset") Rec.Open "SankaTable", Con, adOpenKeyset, adLockOptimistic '新しいデータを追加 Rec.AddNew Rec("SANKADATE") = JapanDate Rec("LASTDATE") = JapanDate Rec("SANKANAME") = SankaName Rec("SANKAFLAG") = "Y" Rec.Update Rec.Close 'トランザクション処理 If Con.Errors.Count > 0 Then Con.RollbackTrans Else Con.CommitTrans End If Con.Close %> です。エラーの出た55行目は『Rec.Update』の行です。 自宅のPWSでは問題なく動作します。JapanDateは、海外サーバとの時差を計算した結果(日本時間)が入っています。 原因・直し方を教えてください。

  • 64bit環境のWin2003サーバにVBScriptでDBに接続するには?

    64bit環境のWindows 2003サーバにインストールされているSQL Server2005に対して、 VBScriptで作成したツールでデータを一括で更新しようとしています。 32bitの開発環境では問題なく動作したのですが、実際に64bitで実行するとエラーが発生しました。 その後の調査で32bit環境と64bit環境では接続方法が異なることは分かったのですが、 どの様な方法で接続すればよいのか分かりません。 ご存知の方、ご協力ください。 *******************************************************************  現在の接続方法 Const CONNECTING_STRING_SQLSERVER = "Driver={SQL Server};server=server_hogehoge; database=db_hogehoge;OPTION=16387;" Dim conn Set conn = CreateObject("ADODB.Connection") conn.connectionString = Replace(CONNECTING_STRING_SQLSERVER ,"<VAL1>",SQLSERVER_NAME) conn.Open ******************************************************************* 以下のような接続文字列も試してみたのですが、上手く行きませんでした。 Const CONNECTING_STRING_SQLSERVER = "Provider=SQLOLEDB;Data Source=server_hogehoge;Initial Catalog=db_hogehoge;Integrated Security=SSPI;" 尚、今回の前提は以下の通りです。 OS:Windows Server 2003 R2 Standard x64 Edition ServicePack2 DB:SQL Server2005 Express Edition DB認証方式:Windows認証 その他:スクリプトはサーバ上で直接実行 宜しくお願いします。

  • IUSR でCreateObject("Excel.Application")ができない。

    こんにちは。 ASPでCreateObject("Excel.Applilcation") を行いたいのですが、 認証ユーザがIUSRのときに ------------------------------------------------ Microsoft VBScript 実行時エラー エラー '800a0046' 書き込みできません。: 'CreateObject' ------------------------------------------------ と、失敗してしまいます。 認証ユーザをAdministratorにすると正常動作しました。 どこかのフォルダにIUSRの権限設定を行えばよいのかなと思うのですが、 ご存知の方教えてください。 ------------------------ 環境 ------------------------ Windows Server 2003 IIS 6.0 Excel 2000

  • ASP + MDBで発生したエラーが解決できません。。。

    こんにちは。 いま、ローカルPCでシステム開発をしています。 環境としては、  WindowsXP + IIS + ASP + MDB(ACCESS2003) です。 いま、MDBにDB接続して、データを取得しようとしているのですが、以下のエラーが発生していて、治りません。 【エラータイプ】 Microsoft VBScript 実行時エラー (0x800A01B6) オブジェクトでサポートされていないプロパティまたはメソッドです。:Open ソースコードは以下の通りです。 【ソース】 'コネクションオブジェクト Set objCon = Server.CreateObject("ADODB.Connection") objCon.Provider = "Microsoft.Jet.OLEDB.4.0" objCon.ConnectionString = "C:\test.mdb" objCon.Open 'レコードセットオブジェクト objRs = Server.CreateObject("ADODB.Recordset") objRs.Open strSQL, objCon, 3 上記のobjRs.Open→Set objRs = objCon.Executeに変更するとエラーは発生しないのですが、RecordCountなどのプロパティが利用できません。 色々と調査したのですが、全くわかりません。 どなたか情報をご存知でしたら、ぜひともご教示ください。 宜しくお願いします。

  • Windows2008サーバーでODBC接続

    Windows2003サーバーからWindows2008サーバーにしたらODBC接続出来なくなりました。 Windows2003サーバーの時にはうまくいったいたので、いろいろ調べてみたのですが、 64ビットOSで 32bit版ODBC設定は、「C:\Windows\SysWOW64\odbcad32.exe」より行う。 と書いてあったので、そのようにしたのですが、 ODBCのシステムDSNの設定自体は認識しているようなのですが、 「指定された_DSN_には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています」 とIISのログに出ます。 ちなみにページのASPの部分に Set conn = Server.CreateObject("ADODB.Connection") Set rs_AP = Server.CreateObject("ADODB.Recordset") conn.open "DB001" と書いています。 データベースはAccess2003で作成したものです。 Access2003がダメなのかと思いAccess2007で作成したものを、Access2007以降のドライバーをダウンロードしてインストールし設定してやってみたのですが、同じ結果でした。 OSのインストールからIISの設定までに何か不備があるのでしょうか? 中途半端な初心者で申し訳ないのですが、手取足取り、ご教授願えないでしょうか? よろしく御願いします。

  • JScriptでDBへの接続方法について

    JScriptを使用してDBへの接続方法を教えて下さい。 var conn = Server.CreateObject("ADODB.Connection"); var rs = Server.CreateObject("ADODB.Recordset"); conn.Open; rs.Open("sheet2", "DRIVER={Microsoft Excel Driver (*.xls)}; DBQ =" + Server.Mappath("tes.xls")); sSQL = "SELECT * FROM sheet2"; からの接続がうまくいきません。 どこがいけないのでしょうか? それとも、全てがいけないのでしょうか? よろしければ、どなたかご教授下さい。 お願いします。

  • ブラウザーからサーバ側のaspファイルを読み込む方法について

    クライアント側のVBscriptやJavaScriptなどのスクリプト 言語から画面を遷移しないでプログラム内でaspファイルを 呼びサーバ側での処理をした後にまたその後のプログラム を実行するような処理をしたいのですがどのように記述し たらよいのでしょうか? (クライアントのプログラム内でサーバ側のaspファイルの 関数を呼び処理の結果をクライアントのスクリプト言語に 反映させたいのですが。。。)

  • VBSの中で書くSQL文の記述方法

    よろしくお願いします。 select * from db1 into id,password,date,name where db1_id = **** and db1_password = **** and db1_date = 99999999; (db1_id,db1_password,db1_dateがプライマリキー) db1という表からプライマリキーに該当したデータを取り出し、 変数に格納したいと思っています。 このSQL文をASPのVBSの中で実現する方法を教えてください。 <% Dim Conn,SQL,RS Dim id Dim password Dim date Dim name db1=server.mappath("db1.mdb") DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db1 Set Conn = Server.CreateObject("ADODB.Connection") Conn.open DBName SQL = "select * from db1" INTO = "into id,password,date,name" WHERE = "where db1_id = **** and db1_password = **** _ and db1_date = 99999999" SQL = SQL & INTO & WHERE & ";" Set RS = Server.CreateObject("ADODB.Recordset") RS.Open SQL, Conn,3,3 %> これでうまくいくかな~と思ったのですが・・・。

専門家に質問してみよう