- - PR -
VB6.0でORCLE9.0iに接続
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-02-14 11:16
お世話になります。
業務ソフトでVBからオラクルに接続しております。 以下、ソースです。 'オラクルDB接続 Public Function pb_OraOPN() As Boolean On Error GoTo Ora_Error Dim strCNN As String 'プロバイダ strCNN = "Provider=MSDAORA.1;" 'サービス名(DB名) strCNN = strCNN & "Data Source= " & pIniFile.ora_service & ";" 'ユーザーID strCNN = strCNN & "User ID= " & pIniFile.ora_UID & ";" 'パスワード strCNN = strCNN & "Password= " & pIniFile.ora_PWD & ";Persist Security Info=true" 'コネクションセット Set Ado_ora = New ADODB.Connection 'DBオープン With Ado_ora .ConnectionTimeout = 20 .Mode = adModeRead ☆ .Open strCNN ☆ .CursorLocation = adUseClient End With pb_OraOPN = True EXIT_PROC: Exit Function Ora_Error: pb_OraOPN = False Call psubWriteErrLog("modCommon pb_OraOPN") Resume EXIT_PROC End Function このソースでオラクル(サーバー)に接続できるのですが、 他の端末で試したところ☆☆のところで以下のエラーが出ます。 ErrNo:-2147467259 Oracleエラーが発生しましたが、エラーメッセージはOracleから取得できませんでした。 接続が成功する環境は Windows XP pro Oracle9.0i(サーバー) 接続が失敗する環境は Windows XP pro Oracle9.0i(クライアント) 失敗する環境のOracle(クライアント)は正常にサーバーをみにいけているので設定が悪いとは思うのですが、どの設定をかえればいいのかがわかりません。 Oracle(サーバー)のalert_logは以下の通りです。 Thu Feb 14 08:59:29 2008 alter database mount exclusive Thu Feb 14 08:59:39 2008 Successful mount of redo thread 1, with mount id 1246916338. Thu Feb 14 08:59:39 2008 Database mounted in Exclusive Mode. Completed: alter database mount exclusive Thu Feb 14 08:59:39 2008 alter database open Thu Feb 14 08:59:43 2008 Beginning crash recovery of 1 threads Thu Feb 14 08:59:44 2008 Started first pass scan Thu Feb 14 08:59:48 2008 Completed first pass scan 743 redo blocks read, 27 data blocks need recovery Thu Feb 14 08:59:48 2008 Started recovery at Thread 1: logseq 300, block 17831, scn 0.0 Recovery of Online Redo Log: Thread 1 Group 5 Seq 300 Reading mem 0 Mem# 0 errs 0: D:\ORACLE\ORADATA\HOPESXJ.HOPE\REDO5A.RDO Mem# 1 errs 0: D:\ORACLE\ORADATA\HOPESXJ.HOPE\REDO5B.RDO Thu Feb 14 08:59:50 2008 Ended recovery at Thread 1: logseq 300, block 18574, scn 0.7985058 27 data blocks read, 27 data blocks written, 743 redo blocks read Crash recovery completed successfully Thu Feb 14 08:59:58 2008 Thread 1 advanced to log sequence 301 Thread 1 opened at log sequence 301 Current log# 1 seq# 301 mem# 0: D:\ORACLE\ORADATA\HOPESXJ.HOPE\REDO1A.RDO Current log# 1 seq# 301 mem# 1: D:\ORACLE\ORADATA\HOPESXJ.HOPE\REDO1B.RDO Successful open of redo thread 1. Thu Feb 14 08:59:59 2008 SMON: enabling cache recovery Thu Feb 14 09:00:07 2008 Undo Segment 1 Onlined Undo Segment 2 Onlined Undo Segment 3 Onlined Undo Segment 4 Onlined Undo Segment 5 Onlined Undo Segment 6 Onlined Undo Segment 7 Onlined Undo Segment 8 Onlined Undo Segment 9 Onlined Undo Segment 10 Onlined Successfully onlined Undo Tablespace 1. Thu Feb 14 09:00:07 2008 SMON: enabling tx recovery Thu Feb 14 09:00:08 2008 Database Characterset is JA16SJIS replication_dependency_tracking turned off (no async multimaster replication found) Completed: alter database open どなたかご教授お願いします。 |
|
投稿日時: 2008-02-14 14:33
考えられるのは、こんなところでしょうか。 アラートログにはオラクルエラー(ORA-XXXX)は出ていませんね。 |
|
投稿日時: 2008-02-18 16:21
返信遅れました。
くまっち様、回答ありがとうございました。 今回は社内環境でテストした際にプログラム上から接続できなかったのですが、、、 >> Oracle(クライアント)は正常にサーバーをみにいけている >どのように確認されたのでしょうか? >(SQL/Plusで@データソース名で接続出来ていますか?) オラクルのクライアントが入っている端末から 全てのプログラム→ オラクル→ エンタープライズマネージャー→ パスワード、ユーザーID入力 で直接接続を確認しました。 実は時間がなかったのでユーザーにお持ちした際にデバッグする覚悟で仮納品した際に 無事に接続出来ました。 こうなるとクライアントのPCの設定か何かが悪かったのだと思うのですが、現在今だ原因不明です。 ユーザーで無事に動いてくれているので助かってはおりますがこれからも気を抜けなさそうです、、、 クライアントに9i以外のバージョンは入ってませんか? 考えられるのは、こんなところでしょうか。 アラートログにはオラクルエラー(ORA-XXXX)は出ていませんね。 |
|
投稿日時: 2008-02-18 18:29
エラーが出るならクライアントマシンのsqlnet.logでは。
データベースにエラーが出ているわけではないので、alert.logには何の情報も無いでしょう。 |
|
投稿日時: 2008-02-22 15:59
エラーの出るクライアントから
・tnspingがサーバーに通るか ・SQL*PLUSで接続できるか あたりから原因を絞ってみては。 |
1