こんにちは。
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はわかりません。誰かわかる方がいたら、教えてください。よろしくお願いします。
No.4ベストアンサー
- 回答日時:
言葉が足りてないようなので、再度説明します。
>Net8 Easy Configを使わなくても良いと書いてありました。
「全く使用しないでもよい」と言うわけでもないのですが、、、
普通なら使用します。
>オラクルサーバとVBプログラムは同一マシン上
>会社のパソコンはSQL*PLUS を起動する際に、パスワードとユーザーは入力しますが、ホスト文字列は空白のままなので
とあるので、Net8 Easy Configを使用してDBを指定するような、設定はいらないと言うことです。
ですので
>Set OraDatabase = OraSession.OpenDatabase(strDB, strUP, &H1&)
の部分を
Set OraDatabase = OraSession.OpenDatabase("", strUP, &H1&)
とすることで、Net8 Easy Configを使用しないで接続できると思ったのです。
次の変数を使用しない値を直で与えて実行してもだめでしょうか?
Set OraDatabase = OraSession.OpenDatabase("", "SQLPLUSで使用しているID/SQLPLUSで使用しているPASS", &H1&)
ちなみ現在会社の環境はSQL鯖なので、日中は実験済みのお答えは即座にはお答えできません。
この回答への補足
どうも,ありがとうございました。
おかげさまで、解決できました。
Set OraDatabase = OraSession.OpenDatabase("", strUP, &H1&)
としたら、できました。
これで、アプリケーションが作れそうです。
どうもありがとうございました。
どうも、2度もご回答ありがとうございます。私も
>Net8 Easy Configを使用してDBを指定するような、設定はいらないと言うことです。
については、その様な意味で書いていただいたんだとは、思っていましたよ。
>Set OraDatabase = OraSession.OpenDatabase("", strUP, &H1&) という方法でもやったのですが、確かできなかったような気がしますが、
>Set OraDatabase = OraSession.OpenDatabase("", "SQLPLUSで使用しているID/SQLPLUSで使用しているPASS", &H1&)
でもう一度試してみようと思っています。どうもご親切にありがとうございます。
日中、頭を冷やして色々やろうと思います。ちょっと昨日は混乱していましたので。。
どうもありがとうございました。
No.5
- 回答日時:
>Set OraSession = CreateObject("OracleInProcServer.XOraSession")
>Set OraDatabase = OraSession.OpenDatabase(strDB, strUP, &H1&)
OraSessionとOraDatabaseの定義しているのでしょうか?
ご回答どうもありがとうございます。
その辺りは定義してあります。標準モジュールを他に定義して、そこで定義してあります。
すみません。なにしろ、VBを本格的に扱うのは初めてな者ですから。しかし、その辺は大丈夫です。
Javaをやっていたんで、その辺の事は理解したつもりです。どうもありがとうございました。ではまたよろしくお願いします。
No.3
- 回答日時:
>Net8 Easy Config
oo4oだったら使用しなくても大丈夫では?
自宅の環境のOracle8.1.6は、設定しないでもつながりましたよ
どうもご返事ありがとうございます。
私もつい先ほどまで、ホームページを回っていたんですが、oo4oという接続は、確かにNet8 Easy Configを使わなくても良いと書いてありました。
そう考えるとなにがおかしいのかな?と思っています。ホスト文字列がやはり問題なのかな?とも思っているんですが。。
明日、会社で色々とやってみようと思っています。何しろ自宅では、方法がないので。。。自宅にOracleがあるんですね。うらやましいです。どうもご返事ありがとうございました。では、また。
No.2
- 回答日時:
OracleのNet8 Easy Configで、
サービスの追加はされていますか?
strDB には、そのサービス名を入れます。
どうもご返事ありがとうございます。
Net8 Easy Config というのは、分かりませんが、SQL*PLUS を起動する時に入れる「ホスト文字列」の事ですよね。会社のパソコンはSQL*PLUS を起動する際に、パスワードとユーザーは入力しますが、ホスト文字列は空白のままなので、今回も何も入力しないまま(strDBには何も入らない)接続を試みました。その辺りがおかしいのですかね?
どうもご回答ありがとうございます。自分なりに調べてみます。また気が向いたらご返事ください。よろしくお願いします。
No.1
- 回答日時:
>Dim strDB As String * 30 'サービス名
>Dim strUID As String * 30 'ユーザー名
>Dim strPWD As String * 30 'パスワード
なぜ固定長なんだろうか分らないけど、、、
Dim strDBAs String 'サービス名
Dim strUIDAs String 'ユーザー名
Dim strPWD As String 'パスワード
こうしてみては?
それと
>On Error GoTo Ora_Error
をはずして、どのようなエラーメッセージが出ているかが分ると答えやすいです。
参考URL:http://homepage2.nifty.com/inform/vbdb/oo4o_basi …
どうも、ご回答ありがとうございます。今は自宅で、会社のパソコンでしか使えないものですから。。。
固定長の件につきましては、本に書いてある通りやったので、僕もなぜだか分かりません。明日、固定長をなくしてみます。
On Error Go to Ora_Error を外してエラーも見てみます。どうもありがとうございました。ではでは。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VB6(SP5)+OO4OでCreateObjectが失敗する
Visual Basic(VBA)
-
OracleInProcServer.XOraSession オブジェクト作成時の参照ファイル
Visual Basic(VBA)
-
オープン時にエラーが出て接続できません
Oracle
-
-
4
-2147024770オートメーションエラー 指定したモジュールが見つからない
InternetExplorer(IE)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのセルにユーザー名...
-
メールをパスワードつきで送る方法
-
CSVファイルを添付するときにパ...
-
メールのマナー編
-
インスタのアカウントの消し方...
-
メールアドレスで上付きのハイフン
-
インスタの捨て垢で友達のスト...
-
存在しないアドレスにメールを...
-
メールを返信したら、英語のメ...
-
CDにパスワードをかける
-
YouTubeが毎回ログインしないと...
-
ワードに入力したメールアドレ...
-
URLとメールアドレス
-
NTT VG430i/830a adminのユー...
-
runas実行した時にきかれるパス...
-
メールアドレス 上バーの入力...
-
LINE TCBというところからLINE...
-
Skypeのアカウントについて 作...
-
大学定期試験過去問サイト「過...
-
インスタのアイコンについてるN...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
メールをパスワードつきで送る方法
-
メールアドレスで上付きのハイフン
-
メールのマナー編
-
インスタの捨て垢で友達のスト...
-
メールを返信したら、英語のメ...
-
YouTubeが毎回ログインしないと...
-
メールアドレス 上バーの入力...
-
LINE TCBというところからLINE...
-
CSVファイルを添付するときにパ...
-
LINE Payで友だちに送金しよう...
-
存在しないアドレスにメールを...
-
URLとメールアドレス
-
iPhoneのiCloudメールなよです...
-
星の王子さまというアプリで、 ...
-
カカオで退会せずに、アプリだ...
-
メールアドレスから個人を特定...
-
携帯電話を解約してもSMSの受信...
-
ユニクロやGUのシフト管理アプ...
-
解約済みの iPadについて 解約...
おすすめ情報