VBからORACLEへ接続するプログラムを作っています。
VBのエディット画面から実行すると正常に動作するのですが、コンパイルを行いEXEから実行すると下記エラーが発生します。
「Fatal NI connect error 6413,」

以下のOpenDatabaseでエラーが発生しているところまでは突き止めたのですが
なぜエラーとなるか、まったく検討がつきません。

Set objOr = CreateObject("OracleInProcServer.XOraSession")
Set objDb = objOr.OpenDatabase(mstrSVN, mstrUID & "/" & mstrPWD, 0&)

どんなささいな情報でもお持ちの方、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

他の会議室ですが・・・同様な症状が発生してる履歴がありました。



参考URL:http://www7.big.or.jp/~pinball/discus/oracle/351 …
    • good
    • 1
この回答へのお礼

すばらしい回答ありがとうございます。

自分のEXEを置いてるディレクトリはバージョン管理の関係上、半角括弧を使用していました。
試しにディレクトリ名の括弧をとってみると正常動作を確認できました。

くるくるORACLEは良く見ていたつもりでしたが、見落としていたようです。(反省)

お礼日時:2001/11/15 14:10

私はこのように接続しています。


'** サービス、ユーザ設定
dbname = "FMW001"
cnuser = "fmwuser/fmwuser"
'// Oracle サービス名(別名)、ユーザ・パスワード指定

'** oo4o 接続
Set GoORASESSION = CreateObject("OracleInProcServer.XOraSession")

Set GoORADATABASE = GoORASESSION.OpenDatabase(dbname, cnuser, 0&)

おんなじですよね。。。
ちなみに
「OpenDatabase」を「DbOpenDatabase」と変えてみてはどうでしょうか

参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

DbOpenDatabase()で試してみましたが、事象変わらずでした。
他に手はないでしょうか?
よろしくお願いします。

お礼日時:2001/11/15 13:28

田吾作7@オラクルインストール中です。

。。

EXEにしたらうまくいかない?
そういう状況を聞いた事がありませんが・・・

DB,UserID,PassをVBでテスト用にパラメータを直打ちで設定してませんか?
デバッグ用のプログラムが入ってませんか?

On Error Resume Next
Set objOr = CreateObject("OracleInProcServer.XOraSession")
If objOr Is Nothing Then
  MsgBox "CreateObject失敗"
End If
MsgBox "DBオープンパラメータ [" & mstrSVN & "][" & mstrUID & "][" & mstrPWD & "]"
Set objDb = objOr.OpenDatabase(mstrSVN, mstrUID & "/" & mstrPWD, 0&)
If objDb Is Nothing Then
  MsgBox "OpenDatabase失敗"
End If
On Error GoTo 0
Exit Sub

コンパイルしてデバッグしてみてください。

この回答への補足

回答ありがとうございます。

全く同じEXEを他のマシン(Win98)で動かしたところ正常に動作しましたのでパラメータミスやデバッグモードでの動作ではないことは確認がとれています。
他に手はないでしょうか?

参考(マシン環境)
OS : Windows2000 Profesional SP2適用
VB : VisualBasic6.0 SP5適用
DB : Oracle8.1(DB本体はLinuxで動作で、Net8経由で接続)

補足日時:2001/11/15 13:52
    • good
    • 0

このQ&Aに関連する人気のQ&A

パスワード Oracle」に関するQ&A: スキーマ

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QOracleInProcServer.XOraSession オブジェクト作成時の参照ファイル

VBで OracleInProcServer.XOraSession を使い、
oracle9iのサーバーへ接続したいのですが、
現在10gのクライアントがインストールされており、
9iをインストールしてもサーバーへ接続できません。

レジストリを見るとoo4oは10gへ向いているようですが、9i用のDAOを利用したいです。

例えばOracleInProcServer.XOraSessionを利用したときに9iのoo4oを参照したいのですが、どのような方法があるでしょうか?

宜しくお願い致します。

Aベストアンサー

10gと9iの連携はしたことがありませんが、9iクライアントから8iサーバへの接続はしたことがあります。

サーバが9iだから9iクライアントを利用したいというだけであれば、10gクライアントからでも接続できませんか?

どうしても9iを利用したいのであれば、参照設定に入れてしまえばできませんか?
参照設定に
[OracleInProcServer X.X Type Library]
が二つ存在していませんか?

環境が無いままに話をしているので、想像で話をしております。すいません。

QVB6.0で作成したプロジェクトのVB.NETへのアップグレードでエラー発生

卒業研究でVBを使う予定です。
先輩の研究を引き継ぐことになっているのですが、VB.NETでプロジェクトを開くことができなくて困っています。

先輩が開発したのはVB6.0で、今研究室のパソコンに入っているのはVB.NETです。
VB.NETのアップグレードウィザードを使えばVB6.0のプロジェクトをVB.NETで編集できることまで調べたのですが、いざアップグレードしようとしたときに以下のようなエラーが出てしまいます。
・エラー文---------------------------------------
アップグレードに失敗しました:例外が発生しました:参照されたコンポーネント
Slider
Slider
Slider
Slider
Slider
Slider
に、デザイン時のライセンスがありません。
--------------------------------------------------
アップグレードできるようにするにはどうすればいいでしょうか?
よろしくおねがいします。

Aベストアンサー

Sliderコントロールが認識されていないようなので
VB.NET で新規プロジェクトを作成し、コンポーネント参照で
Sliderコントロールを参照可能に設定する。
その後、VB6.0の既存フォームモジュールをプロジェクトへ追加する。
以上

QVB:「実行時エラー53 実行ファイルが見つかりません」

お世話になっています。
VBよりOracle8.1.6に接続し、指定エクセルのデータを
OracleDBにアップロードするというアプリケーションを
社内で配布しています。

一部のPCから、
「実行時エラー53 実行ファイルが見つかりません」
エラーが発生するのです。私のPCからは正常に動作しますし
先週まで成功してたのに今週いきなりこのような現象がおこりまして
悩んでおります。

ちなみに同アプリケーションの別フォームは全PCで正常に
動いていまして、違いといえば、上記エラーが出る場面のみ唯一
Working.aviファイルを実行中呼び出してるところだと思うんですが。

あと先週まで動いてたのに今週から動かないのも気になります。
今週前半にOSのアップデートを行ったのですがそれが原因
だったりすることはあるでしょうか、、
よろしくおねがいします

Aベストアンサー

フルパスで指定しているWorking.aviが、そのパスに存在しなくなったことが原因であると考えられます。
例えば、OSのアップデートにより、ドライブの構成が変わったとか、ありませんか?
あるいは、Working.aviがネットワーク上に存在するとしたら、Working.aviが存在するファイルサーバーの権限等がリセットされ、Working.aviを開けなくなっているとかはありませんか?

エラーが発生しているPCで、エクスプローラー等で、そのファイル自体を探してみて下さい。
そうすることにより、原因が明らかになると思います。

Q既にVBアプリが入っているPCでの自作VBアプリの実行でエラー

お世話になります。
なんとかVBでEXEまで作成しました。
自分のPCでは実行できたのですが、
他のPCではエラーになります。
MSFLXGRD.OCXがない・・・みたいなエラーです。
エラーになったPCには既にVBのアプリケーションが
インストールされていて、必要なランタイムは
多分そろっていると思います。
検索したらMSFLXGRD.OCXは見つかりました。
これってバージョンの問題ですか??

フリーで色々あるランタイムパッケージなどを
ダウンロードした方がいいですか?
既存のAPが動かなくなると困るので、
あんまりしたくないんですが。

VB6.0でOSはどれも2000です。
よろしくお願いいたします。

Aベストアンサー

#2です。

MSFLXGRD.OCXだけを選択して、最低限のsetup.exeをセットアップウィザードで作ればいいんです。

しかし、
セットアップウィザード時に、インストーラに組み込むモジュールの一覧
もしくは、
インストーラ内の情報ファイル(拡張子忘れました)記述されているファイル一覧
と、
インストールしようとする端末の各ファイルを比較して、バージョン違いが無ければそのままsetup.exeでインストールしても、問題ありません。

#OSが同じで、インストールしているソフトも同じで、SPも同じであれば、何も問題ありませんが。

QVB6変数の宣言dim j,k,p,m,n as Integerは良くない?

お世話になります。

VB暦1年です。

汎用の変数宣言でタイトルのように
dim j,k,p,m,n as Integer
dim ssa,ssb as String

など、カンマ区切りで変数宣言を使っていたのですが
最近、知人にasの手前の変数は型どおり宣言されるが
その手前の変数はVariant型で宣言されてしまうと指摘されました。

指摘されるまで気にはしていませんでしたが
ウォッチで確認すると変数に代入されるまでは
型がVariant/Emptyとなってます。

以後、気をつければいいのですが
過去にコーディングしたプログラムにも多少、使用していて客先に納品してしまっているものもあります。
後々、問題になるのかな?

Aベストアンサー

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというようなバグの原因になりやすいので、型を明示できるような状況で敢えてVariant型を使うべきではないです。

しかし、すでに納品してしまったコードについては、問題はメモリを余計に使ってしまうことくらいではないでしょうか?
他の人が気づかなかったことから考えるに、多分狭いスコープで使っていますよね? 比較対象や代入するべき型を誤るというようなロジックの誤りがない限り、少なくとも動作上の問題は発生しないと思います。ただ、直せる機会があるのであれば、直した方がいいとは思いますが。

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというよう...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報