• 締切済み

VB6(SP5)+OO4OでCreateObjectが失敗する

taka_tetsuの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>VBの参照設定でOracle InProc Server 4.0 Type Libraly を追加しています。 外してみたらどうでしょう? OraSessionはObject型にして

dabo
質問者

お礼

回答ありがとうございます。 はずしてみても結果は同じでした。

関連するQ&A

  • VBAでoo4oを使用してINSERTする際にエラーが発生

    Excelのマクロでoo4oを使用してINSERTをしようとしています。 Dim OraSession As OraSession Dim OraDatabase As OraDatabase Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase(TNS, USER/PASS, 0&) OraSession.BeginTrans OraDatabase.ExecuteSQL("Insert Into tablename ( colum1, colum2) VALUES( '12345', '1234');") OraSession.BeginTrans OraDatabase.ExecuteSQLでINSERTしようとした場合に、「ORA-00911: 文字が無効です。」とエラーになってしまいます。 同じSQL文をSQL PLUS+で実行させた場合、正常にINSERTができます。 何か特別な処理をしないといけないのでしょうか。 よろしくお願いします。

  • VB6でのPL/SQLの実行について

    現在VB6(SP6)でORACLEのデータベースに接続後、プロシージャを実行してOUTのパラメータを取得したいと思ってプログラムを作っております。 ORACLEへの接続はいろいろ調べてできたのですが、プロシージャの実行(呼び出し)のしかたがわからず困っております。 PL/SQL(プロシージャ名"TEST_DATA") out1 = TEST(OUTパラメータ1) out2 = これはテストです。(OUTパラメータ2) VB6(SP6) Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset Dim P1 AS String Dim P2AS String '接続処理 Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase("TEST", "TEST/TEST DB_DEFAULT) OraSession.BeginTrans 'ここでPL/SQLを実行して、パラーメタを取得したいです。 '取得したパラメータをセット P1 = パラメータ1(TEST) P2 = パラメータ1(これはテストです。) OraSession.CommitTrans '結果表示 Call MsgBox(P1 & "結果" & P2) ご教授のほどをお願いいたします。

  • vbからoracleへの接続

    vbからoracleへの接続について教えて下さい。 ORACLEデータベースにoo4oを使って接続をしているのですが、Oracleクライアントをインストール済みのPCでは何ら問題なく接続できます。 OracleクライアントをインストールしていないPCではエラーメッセージがでてしまいます。 処理はこんな感じです... Public ssOra As Object       Public dbOra As OraDatabase Public dynOra As OraDynaset Set ssOra = CreateObject("OracleInProcServer.XOraSession") Set dbOra = ssOra.OpenDatabase("HRH", "HRH00/HRH00", 0&) Set dynOra = dbOra.DbCreateDynaset("select * from 消耗品_注文履歴", 0&) Set ssOra... のところでエラーとなってしまいます。エラー内容は ********実行時エラー'429'***************************** ActiveXコンポーネントはオブジェクトを作成できません ************************************************** activeX,oracle関連のDLLファイルは参照設定に登録しています。 これを解決するためにはOracleクライアントをインストールするしかないのでしょうか? また、インストールしたらエラーは本当になくなるのでしょうか? 皆様宜しくお願いします。 ちなみにクライアントPCはOS:WIN95 oracleバージョン8.1.7です

  • DBの接続について

    昨日も同じ質問したのですが また、助けてください DBの接続状態がしりたいのですが DBの接続状態を認識させるために If OraDatabase.State = adStateClosed Then DB_Connect End If ってコーディングいたしました が、一行目でエラー発生でその後の処理が 通りません DB接続部はこんな感じです。 Private Sub DB_Connect() On Error GoTo ERR Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase("ALARM", "ALARM/SHINKO", 0&) End Sub どうか助けてください お願いします 開発環境VB6.0 DBはオラクル9iです

  • ASPでoo4o接続ができません。

    WindowsXPpro(IIS6.0) + Orale9i + ASPで開発をしていますが、 oo4o接続がうまくいかず困っています。 IISとDBサーバは同マシン内の同ドライブ(C)にあり、 現在、やむを得ず、DBサーバにて開発を行っています。 色々調べ、以下のことは全て試してみましたが、 どうしても以下のエラーが出てしまいます。 なお、VB6.0で同じDBにoo4oで接続するサンプルを作って試しましたが、 そちらはうまくいきました。 わかる方、どうかご教授ください。 【試したこと&確認したこと】 ・oo4oはインストールされている ・oip9.dll のレジストリ登録(念のため) ・ora92フォルダに、インターネットゲストアカウントの  読み取り実行&書き込みのアクセス許可を与える  (ちなみにフルコントロール許可を与えてもダメでした) ・SQLNET.oraファイルを以下のように書き換え  SQLNET.AUTHENTICATION_SERVICES= (NONE) 【global.asa】 <OBJECT RUNAT=Server SCOPE=Application ID=OraSession PROGID="OracleInProcServer.XOraSession"> </OBJECT> <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnStart 'OO4O用の設定(Net*8を使用してOracle8に接続する) Set Session("OraDatabase") = OraSession.DbOpenDatabase ("sun151_ora803", "scott/tiger", Clng(3)) Set Session("OraDynaset") = Session ("OraDatabase").DbCreateDynaset("select * from emp order by empno", Clng(4)) End Sub Sub Session_OnEnd Set Session("OraDynaset") = Nothing Set Session("OraDatabase") = Nothing End Sub </SCRIPT> 【エラー内容】 Microsoft VBScript 実行時エラー (0x800A01FB) 例外が発生しました。: 'OraSession.DbOpenDatabase'

  • VB.NETでORACLEにoo4o接続した後、SELECT文を使う手順は?

    mdbのADO接続による方法は例文が多くあったので、それを参考に作り込むことができて完成してたのですが、mdb&ADO接続自体が却下されて、ORACLE&oo4oで一から作り直しとなりました。 ORACLEへのoo4o接続までは調べて出来た(----以下)のですが、その先のデータ抽出方法が良くわかりません。 "MASTER_SYAIN"テーブルから、社員コード(例:Syaincd=123)で社員名(Syainnm)を取ってきたいのですが。 以下の感じのSELECT文になると思うのですが、これをいきなり記述してもエラーになりますよね? 前後の具体的な記述はどうなりますでしょうか? ホントすいません・・・SQL初心者で。 SELECT Syainnm FROM MASTER_SYAIN WHERE Syaincd = '123' ------------------------------ Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  Dim dbname As String  Dim cnuser As String  On Error GoTo errorHandler    StatusBar1.Panels(0).Text = "データベースに接続中・・・"  dbname = "oracle"  cnuser = "user/pass"  OraSession = CreateObject("OracleInProcServer.XOraSession")  OraDatabase = OraSession.OpenDatabase(dbname, cnuser, ORADB_DEFAULT)  StatusBar1.Panels(0).Text = "データベース接続完了。"  On Error GoTo 0  Exit Sub errorHandler:  If Err.Number = ORACLE_DB_CONNECTING_FAILURE Then   StatusBar1.Panels(0).Text = "データベースに接続出来ません。" & Chr(10) & "エラーコード:" & Err.Number   Resume Next  End If  Error Err.Number End Sub

  • Excel VBA で Oracle CLOB型カラムの文字列を取得する方法

    Excel VBA を使用して、Oracleに格納されている文字列を取得しようとしています。 Number型やVarchar2型のカラムからは問題なく取得できるようになったのですが、CLOB型で文字列を格納しているカラムからの取得でつまずいています。 自分の書いた方法だと、1600バイト以上の文字列が格納されているとエラー文字が返ってきてしまいます。 これ以上の文字数を取得する方法について教えてもらえないでしょうか? '---// コード抜粋 ココから //--- 'ORAセッション生成 Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'ORADB生成 Set OraDatabase = OraSession.OpenDatabase(<<dbname>>, <<id>> & "/" & <<passwd>>, 0) Dim SQL As String '一覧取得用SQL Dim RS As Object 'レコードセット SQL = " SELECT <<<clob_col_name>> FROM <<table_name>> " Set RS = OraDatabase.DbCreateDynaset(SQL, 0&) Range("A1").Value = RS.fields("<<clob_col_name>>").GetChunk(0, 3263) RS.Close '---// コード抜粋 ココまで //--- 環境は、Excel 2003、Oracle 9iです。 ひとつよろしくお願いいたします。

  • OracleとVB6.0を勉強している学生です。

    OracleとVB6.0を勉強している学生です。 あるテーブルから全てのレコードを抽出してCSVで出力させたいのですが なかなかうまく行かないので悩んでおります。 TEST1 というテーブルには名前、年齢、住所、電話番号etc というフィールドがあり 数100件のレコードがある場合 その全てのレコードをcsvに出力する所で詰まって おります。 記述しているコードですが 'Oracleとの接続 Set OraSession = CreateObject("OracleInProcServer.XOrasession") 'DataBaseとの接続 Set OraDataBase = OraSession.DbOpenDataBASE(ORADBNAME, ORADBCONECT, 0&) SQL = "SELECT * FROM TEST1" Set Oradynaset = OraDataBase.DbCreateDynaset(SQL, ORADYN_READONLY) Do Until Oradynaset.EOF '出力 Open OUTPATH &"test1" & ".csv" For Append As #10 Len = 3 Print #10, ????????? ←この場所の記述の仕方 Close #10 step1: Loop Exit Sub End Sub Printでどう記述すればTEST1のレコード全てをCSVに出力できるかがわかりません。 DBへの接続は成功しております。 何卒よろしくお願いします。

  • VBからOracle接続が出来ません。

    こんにちは。 VisualBasic6.0EnterprizeEdition から Oracle8i の接続を試みております。 接続が出来ません。コードは本のものをそのまま書いたので、間違いはないと思います。 Private Function OraOPN() As Boolean Dim strDB As String * 30 'サービス名 Dim strUID As String * 30 'ユーザー名 Dim strPWD As String * 30 'パスワード Dim strUP As String Dim strMSG As String 'エラー時のメッセージ On Error GoTo Ora_Error strDB = Trim(txtLogon(2).Text) strUID = Trim(txtLogon(0).Text) strPWD = Trim(txtLogon(1).Text) strUP = strUID & "/" & strPWD strMSG = "データベースへの接続ができません" Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase(strDB, strUP, &H1&) OraOPN = True Exit Function Ora_Error: OraOPN = False Call MsgBox(strMSG & vbCrLf & " システム管理者に連絡してください" & vbCrLf & vbCrLf & "", vbCritical) End End Function 以上のコードで、接続できません。本に書いてあるとおりそのままのコードです。オラクルサーバとVBプログラムは同一マシン上に置いてあります。 私は、Java専門でVBはわかりません。誰かわかる方がいたら、教えてください。よろしくお願いします。

  • ASPからOracle9iへの接続方法

    環境は以下のように変更となりました。 ・サーバーOS:WindowsNT SP6→Windows2000Server ・DB:Oracle8.0.5→Oracle9i ・ASP ・クライアント:Oracle8.1.6のまま ASPでWebからoo4oでOracleDBに接続します。 Oracle8で動作していたASPが、Oracle9iに変更した ところ、ASPの動作で以下エラーがでてしまいます。  エラー内容:   「orasession作成中にエラーが発生しました」 oo4oでの接続は以下のように記述しています。  Set Application("OraSession") =  Server.CreateObjec       ("OracleInProcServer.XOraSession") どんな原因が考えられますでしょうか? お教え下さい。よろしくお願いいたします。