• 締切済み

VBAをOracleClientがインストールされていない環境で実行するには?

VBAにてADO接続やoo4o接続にてOracleDB(10g)への接続をすることは出来たのですが、ADO接続やoo4o接続するためにはOracleClientがインストールされていることが必須ですよね?(ここの理解が間違っていたらご指摘いただくと共にADO接続やoo4o接続でのコーディング例などの代替案を教えてください) 行いたいこと。 OracleClientがインストールされていないPC(XP SP2)のMS-Office製品VBAにてOracleDBへ接続したいです。 実現可能な方法はありますでしょうか?

みんなの回答

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

普通にプロバイダーとしてorqacleが指定できませんか? 環境がないのでテストできないのですが、そんなものがなくても接続できるのが ODBCたと理解してますが

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

たとえば、DBサーバ上でCGI等を動かして、HTTP経由で取得するとか。

関連するQ&A

  • VBからOracleへの接続方法

    VBからOracleへの接続方法として、ADO、DAO、ODBC、oo4oなど色々と方法があるようですが、どれが一番いいんでしょうか。 oo4oは別途インストールが必要でしょうか。 環境はまっさらなXPから、Excelマクロでサーバ上のOrcleに接続します。

  • VBA Oracle接続について

    現在、Access2013+oo4oでOracle11gのDBに接続しています。 今回、DBをOracle12cに変更しようとしています。 Oracle12cよりoo4oがサポートされなくなり、使用することが出来ないとの事で ODP.NETでの接続に変更しようとしていますが可能なのでしょうか? ちなみに以下を行ったところ、うまくいきませんでした。 (1)Oracle.DataAccess.dllのインストール OracleClientのインストールをカスタムで行い「Oracle Data Provider for .NET」 を個別にインストールしました。結果以下にDllがインストールされました。 C:\app\client\administrator\product\12.2.0\client_1\ODP.NET\bin\ 4\Oracle.DataAccess.dll (2)参照設定で追加 上記のdllをAccess2013の参照設定より参照の追加をしようとすると以下の エラーになりました。 「指定されたファイルへの参照は登録できません」となりました。 以上、宜しくお願いします。

  • VB.NET Oracle接続 クライアント混在

    <環境1> WinXP Oracle Client 7(?) <環境2> Win7 Oracle Client 10g(10.1.0.2.0) <サーバ> Oracle Database 7(?) こんにちわ、いつもお世話になってます。 VB.NETでoo4oにてOracleに接続するWinアプリがあります。 (なんでODPやADOを使わないんだ、という意見はナシでお願いします そもそもOracle7ではODP.NETってなかったもんですから。。。) 今までは環境1だけでしたが、環境2が出現しました。 当然、oo4oなのでInProcServerのバージョン違いにより 環境2からOracleDBへの接続はエラーとなります。 この環境2への対応が必要となっています。 そこでお聞きしたいのが 環境1、2両方に対応させるためにどのような方法をとるのがベストか、です。 現状、考えている方法は ・そもそもEXEをOra7用(InProc使用)とOra10g(ODP.NET)用に分ける ・Win7ProならXPモードにOra7をインストールする ・いっその事DB接続から何からADO.NETにかえる できれば理由付きでどんな方法が最善かご教授願います。

  • VB5.0からOracleDBにADOで接続

    VB5.0からOracleDBにADOで接続する場合、クライアント側に最低限インストールしなければならないOracleのソフトを教えてください?

  • Excel VBAにてMS SQL-Serverのmdfファイルとコネ

    Excel VBAにてMS SQL-Serverのmdfファイルとコネクションして取り込みたいと考えておりますが 通常のデータベースコネクションのようなADO,DAOにて接続可能なのでしょうか?  

  • VBAでドロップダウンリストを連動させたものを作るには?

    VBAでドロップダウンリストを連動させたものを作ることが出来ますでしょうか? 今まで入力規則の設定をつかって見ていましたがどうやら実現不可能と思われることが分かってきました。 VBAでの連動したリストの代替案を考えていますが・・・ いい方法は無いでしょうか? このページのようなことがやりたいと思っています。 http://www.relief.jp/itnote/archives/000822.php

  • oo4oの代わりは?

    oo4oの代わりは? VB6で、Oracleに接続する場合は、たいていoo4oを使用していましたが、vb2002以降の.netで、Oracleと接続する場合は、実際、開発現場では、何を使用していますか?私は、vb6しか知りませんので、教えてください。ADO.NET使ってるのかな?

  • 【エクセルVBA】DBのデータをCSVに

    VBA初級者です。 oracleDBのデータをCSVへ出力するマクロをVBAで作成中ですが、実装方法が分からず困っています。 ・DB接続はoo4o ・エクセルは2010 ・SQLで取得したデータを1レコードづつCSVに書き出したい ・カラム名をヘッダーとして書き出したい 以下のような実現方法でできるか…?と考えたものの、 肝心のマクロ(VBA)でのDBデータの取得⇒CSVへの書き込み方法がいくら調べてもわかりません。 CSVからDBへのインポートはたくさんあったのですが…。 そもそも取得したレコードを配列で保持して書き出す、という考え方が合っているのか?ヘッダー(カラム名)はどのように書き出せばいいか? など疑問が尽きません。何卒お力添え頂ければ幸いです。 --ボタンクリック時のアクション-- (1)変数定義 (2)DB接続情報確認 (3)DB接続 'DB接続 Set oraSession = CreateObject("OracleInProcServer.XOraSession") Set oraDatabase = oraSession.OpenDatabase(dbSid, dbUser & "/" & dbPass, ORADB_DEFAULT) (4)書き込み用のCSVファイルを作る (5)SQLを実行し返ってきた結果をsplit関数で配列としてwriteListにAddする (5)作成したCSVファイル内にwriteListのデータをPrint #で書き出す (6)完了メッセージを表示 MsgBox "完了しました " (7)DBの切断 'DBクローズ Set oraDatabase = Nothing Set oraSession = Nothing --SQLを実行するメソッド-- (8)SQLを記述、SELECT結果を(5)に返す 恐れ入りますがよろしくお願いいたします。

  • AccessからOracle DB(View)を参照する方法について

    accessでOracleDBに接続し、アプリケーションを作ろうとしております。 OracleDBのViewを参照し、Accsess側で編集をしようとしております。 AccessからOracleのビューを参照できるようにしましたが、そのビューと accessのテーブルから作成されたクエリが新規レコードの作成ができません。(Accessの画面で「→*」のボタンがグレーアウトになっている) どうすれば新規レコードを追加できるようになりますでしょうか? また、できない場合、どのような代替案がありますでしょうか? すみませんがご回答、宜しくお願いします。

  • 【エクセルVBA】OraDBのデータをCSVへ出力

    VBA初級者です。 oracleDBのデータをCSVへ出力するマクロをVBAで作成中ですが、実装方法が分からず困っています。 ・DB接続はoo4o ・エクセルは2010 ・SQLで取得したデータを1レコードづつCSVに書き出す ・カラム名をヘッダーとして書き出す 以下のような実現方法でできるか…?と考えたものの、 肝心のマクロ(VBA)でのDBデータの取得⇒CSVへの書き込み方法がいくら調べてもわかりません。 CSVからDBへのインポートはたくさんあったのですが…。 そもそも取得したレコードを配列で保持する、という考え方が合っているのか?ヘッダー(カラム名)はどのように書き出せばいいか? など疑問が尽きません。何卒お力添え頂ければ幸いです。 --ボタンクリック時のアクション-- (1)変数定義 (2)DB接続情報確認 (3)DB接続 'DB接続 Set oraSession = CreateObject("OracleInProcServer.XOraSession") Set oraDatabase = oraSession.OpenDatabase(dbSid, dbUser & "/" & dbPass, ORADB_DEFAULT) (4)書き込み用のCSVファイルを作る (5)SQLを実行し返ってきた結果をsplit関数で配列としてwriteListにAddする (5)作成したCSVファイル内にwriteListのデータをPrint #で書き出す (6)完了メッセージを表示 MsgBox "完了しました " (7)DBの切断 'DBクローズ Set oraDatabase = Nothing Set oraSession = Nothing --SQLを実行するメソッド-- (8)SQLを記述、SELECT結果を(5)に返す 恐れ入りますがよろしくお願いいたします。

専門家に質問してみよう