現在、ローカルのmdbに接続しています。
接続先DBを同LAN上のWin2000ServerのORACE 8に変えるべくコードを修正していますが上手くいきません。
当方、ORACLEは初めてなので、接続方法がイマイチ良くわからず・・・
ちなみに、接続方法はoo4oを用いたいです。
ご教授いただけると幸いです。
----- mdb接続で用いているコード ------
Public Function getData(ByRef table_name As String, ByRef code_name As String, ByRef extract As String, ByRef code As String) As String
Dim oConn As New OleDbConnection
Dim oCommand As New OleDbCommand
Dim oDataReader As OleDbDataReader
Try
oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\XXXXX.mdb"
oCommand.Connection = oConn
oCommand.CommandText = "SELECT * FROM " + table_name + " ORDER BY " + code_name
oConn.Open()
oDataReader = oCommand.ExecuteReader()
While oDataReader.Read()
If code = CStr(oDataReader(code_name)) Then
getData = CStr(oDataReader(extract))
Exit While
End If
End While
・
・(省略)
・
Finally
If Not oDataReader Is Nothing Then
oDataReader.Close()
End If
If Not oConn Is Nothing Then
oConn.Close()
End If
End Try
End Function
No.1
- 回答日時:
.Netマガジンのバックナンバーで
oo4oを使用したサンプルらしいものがありました。
参考にしてみたらどうでしょうか。
参考URL:http://www.shoeisha.com/mag/dotnet/library/87030 …
この回答への補足
ありがとうございました。
しかし、PDFの解説が2ページで終了してしまっていました。
(実際は続きのページがあるようなのですが・・・)
サンプルもダウンロードしてみたのですが、ん~残念ながら良くわかりませんでした。
No.2ベストアンサー
- 回答日時:
私の場合はVB.NET→ASP→oo4o→Oracle9.0 で接続しましたが、このサイトを参考にしました。
私も初めての経験でしたが、サンプルもわかりやすかったです。
http://www6.ibm.com/jp/software/data/developer/l …
ただいろいろ記事や掲示板を見ていると、VB.NETを使ってらっしゃるならODP.NETで接続するのが簡単でいいみたいですよ。
http://www.atmarkit.co.jp/fdb/rensai/odpdotnet01 …
http://www.itmedia.co.jp/enterprise/articles/040 …
参考URL:http://www-6.ibm.com/jp/software/data/developer/ …
ありがとうございます。
早速、見て参考にしてみたいと思います。
他の方法で接続したいんですが、仕様柄、接続は、"oo4o"に限定されているんです。
ちなみに、一番上のURLには、何故かアクセスできませんでした・・
No.3
- 回答日時:
#2です。
1番上のアドレス、接続できなかったみたいですね。
すみません。
参考URLにのせているサイトと一緒ですので、そちらからとんでみてください。
私も以前方法を検索しまくっていた頃、VB.NETとoo4oの組み合わせ自体があまりなく苦労しました。
Oracleの掲示板で問い合わせてみたところ、先輩たちが口をそろえて「ODP.NETでした方が…」と回答があったのですが、その時に指示はoo4oでとの事だったのでとても苦労した記憶があります。
その中でみつけた参考URLのサイトは大変助かりました。
がんばってくださいね。
この回答への補足
ODP.NETでやりたいのですが、SEが、oo4oでの接続を好んでいるらしく、oo4oでの仕様なんです・・(泣
.NET環境での開発経験は無いようです、SEが・・
それはそうとして、早速、「例 OO4O」に書かれていたコードを、記述してみましたが、以下のエラーが出ます。
"OraSession"と"OraDatabase"のところで、
『型'OraSession'が定義されていません。』
『型'OraDatabase'が定義されていません。』
"ORADB_DEFAULT"のところで、
『名前'ORADB_DEFAULT'』は宣言されていません。』
です。
すいません。
もし、何か、お分かりになるようでしたら、恐れ入りますがアドバイスいただけると助かります。
No.4
- 回答日時:
ORADB_DEFAULT のところは数字の「0」を入れればうまくいくと思います。
数値の意味は分からないのですが…ほかのサイトでは大体0をセットしていました。
定義部分のエラーに関しては、申し訳ありませんが私も分かりません。
サンプルの動作環境がOracle9iなので、バージョンも関係してくるのかもしれませんが、私が初めてつかったDB接続が Oracle9iとVB.Netなので…。
お役にたてずすみません。
調べてみて何かいいサンプルがあれば、またご連絡します。
自己解決しました!
以下のコードで実現できました。
---------------------------------
Public Const ORADB_DEFAULT = &H0
Public Sub oo4o()
'** oo4o 変数宣言
Dim OraSession
Dim OraDatabase
Dim dbname As String
Dim cnuser As String
'** oo4o 接続
dbname = "oracle" 'Oracle サービス名(別名)
cnuser = "amron/amron" 'ユーザ名/パスワード
OraSession = CreateObject("OracleInProcServer.XOraSession")
OraDatabase = OraSession.OpenDatabase(dbname, cnuser, ORADB_DEFAULT)
'** RDB 処理
'ここに操作コードをいれる
'** oo4o 接続解除
OraDatabase = Nothing
OraSession = Nothing
End Sub
No.5
- 回答日時:
もしかしたら定義部分をそれぞれ「Object」にするとうまく動くかも・・・。
自信ないですが。
http://www.int21.co.jp/pcdn/vb/howto/oracle.html
参考URL:http://www.int21.co.jp/pcdn/vb/howto/oracle.html
自己解決したので、前質問のお礼欄にコードを書いておきました。
わざわざ、ありがとございます。
お教えいただいたサイトも、今後の参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c#のTLS1.2での通信について
-
●Excel VBAからSQLServerのデー...
-
データベース接続/切断の基本的...
-
ConnectNamedPipeの接続待ち
-
DB接続エラー
-
System.Net.Sockets.SocketExce...
-
javascriptでSQLite接続
-
ctfmon.exe。スタック ベースの...
-
TeraTermマクロの”Link...
-
タスクバーのボタンがオレンジ...
-
HRESULTからの例外:0x8007000B
-
web.configとは?(初心者です)
-
●スタンバイ時に任意のアプリを...
-
VC++からのoracle接続方法
-
app.configに接続文字列を設定...
-
ユーザーアカウント制御について
-
IIS7.5 Excel ファイルオープ...
-
GridviewとDataGridviewの違い
-
コマンドボタンのキャプション...
-
windows10でハンゲーム起動でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudioでのプログラミン...
-
System.Net.Sockets.SocketExce...
-
OracleInProcServer.XOraSessio...
-
データベース接続/切断の基本的...
-
ConnectNamedPipeの接続待ち
-
c#のTLS1.2での通信について
-
javascriptでSQLite接続
-
ASP.NETのパフォーマンスと接続...
-
●Excel VBAからSQLServerのデー...
-
FFFTPでファイル一覧を取得でき...
-
VB.NET ORA-12170
-
Cでデータベース操作
-
VB6.0のコードによるMySQLへの接続
-
Android端末から外部DB(MYSQL...
-
【Win7・64・C#】マイコンUSB通...
-
VB2010 Dataset内のDB接続先変更
-
Androidで無線LAN強度を取得す...
-
MYSQL接続 Imports エラー
-
ローカル側のC#から、リモート...
-
Excel VBAでSQLSERVERに接続、...
おすすめ情報