• ベストアンサー

VBからOracleへの接続方法

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

noname#147912
noname#147912
  • Oracle
  • 回答数1
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

'以下は、ADO 接続方式の例です。「ODBCの設定は不要」 '参考にしてください。 Public ADCN     'コネクト変数 Public ADRS     'レコードセット変数 Public ADCM     'コマンド変数 Sub Db接続()   strDbConst = "Provider=SQLOLEDB;Server=XXXX1;Database=XXXX2;UID=xxxx3;PWD=xxxx4"   Set ADCN = CreateObject("ADODB.Connection")   Set ADCM = CreateObject("ADODB.Command")   Set ADRS = CreateObject("ADODB.Recordset")   ADCN.Open strDbConst   ADCM.CommandType = 4   ADCN.CommandTimeout = 0   Set ADCM.ActiveConnection = ADCN End Sub Sub Db切断()   ADCN.Close   Set ADRS = Nothing   Set ADCM = Nothing   Set ADCN = Nothing End Sub Sub 検索()   Dim SQL       As String   SQL = "SELECT 項目 FROM テーブル"   ADRS.Open SQL, ADCN, 3, 1, 1   Do While ADRS.EOF = False     項目 = ADRS.Fields("項目")     ADRS.MoveNext   Loop   ADRS.Close End Sub Sub 追加()   Dim SQL       As String   SQL = "INSERT INTO テーブル VALUES(" & 項目 & ")"   ADCN.Execute (SQL) End Sub

関連するQ&A

  • 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にかえる できれば理由付きでどんな方法が最善かご教授願います。

  • Oracle7の接続方法について

    Oracle初心者です。 WinXpからOracle7の接続を試みているのですが、うまく接続できません。WinXPにOracle7のODBC(対応OS:Win95)をインストールして、ODBCテストするとエラーが返ってきます。オラクル社へ問い合わせすると、WinXP用のOracle7ODBCドライバがないとの返答です。 開発はVBを利用しようと考えています。ADO接続でアクセスはできないような話を聞いたことがあり、ほかの方法でアクセスを考えているのですが、思いつきません。わかる方教えてください。 宜しくお願い致します。

  • VisualBasic6とオラクルの開発

    VB6とOracleの開発の場合、接続はODBCを介したもの以外に何かあるのでしょうか? オラクルはXE(無料)ですが、ODBC・ODBC以外の簡単なサンプルも探しています。 VB6からアクセスする場合はADOですか? VB2005の場合もADOなのでしょうか?

  • VB2005でOracle接続

    こんにちわ。 VB2005で作ったプログラムでOracleに接続するんですが Oracleのバージョンが"7"なんです。 この組合せの場合、接続するためにはoo4oしか方法はないんでしょうか? どなたかご教授願います。

  • VB.NET Orcale接続文字列の記述方法

    お世話になります。 VB.NETの初心者です。 VB.NET2003とOrcle10gにて開発を行っております。 VBよりADOでOrcleへ接続する際、接続文字列に記述方法に悩んでいます。 Data Sourceに「ODBC設定したデータソース名」を記述することで接続はできるのですが・・。 本番時にODBC設定をユーザが嫌がる為、直接、サーバアドレスを指定し接続にいかせたいと考えています。(ODBCを使わない) この際の接続文字列の記述方法を御指導下さい。 宜しくお願い致します。 以下、ソース Imports System.Data.OleDb Dim Cn As OleDb.OleDbConnection Cn = New OleDb.OleDbConnection("Provider=MSDAORA.1;Data Source=TEST;User Id=TESTID;Password=TESTPASS; ") Cn.Open()

  • ORACLEのようにトレースがとれるでしょうか?

    ADO+ODBC接続でSQLサーバーからデータを抽出・更新するのですが、 ORACLEのように実行時のSQLのトレースは取れるでしょうか? SQL文の実行計画はクエリアナライザでわかるのですが… なぜトレースを取りたいかというと、以前ACCESS2000 + ORACLE + ODBC + DAO3.6で、 開発していたときに、コーディングで作成したSQLをODBCあるいはJETが SQLを勝手に書き換えて実行していたのでインデックスが効かないということがありました。 今回はADOを使用するのですが、勝手にSQL文を書き換えて、 インデックスが効かないという事象が発生しないか心配しております。 みなさんよろしくおねがいします。(つたない文章ですみません。m(_ _)m) 開発環境 ************************************************ OS:Windows2003 server Standard Edition SQLサーバー: SQLSERVER2000 クライアント VB.NET クライアントとサーバーの接続 Microsoft ActiveX Data Objects 27. Library ODBC接続 ************************************************

  • vb.netでSQL serverの接続を行うコーディング

    vb.net (vb 2005)でSQL serverの接続を行うコーディングがよくわかりません。 ADO,もしくはDAOを使うところまでわかったのですが、具体的なコーディングがわかりませんでした。 VBの教本とかではSQL serverではなくAccesへの接続だったので、どうコーディングしてよいか混乱しています。 (ADOの場合とDAOの場合の違い)

  • データベースの接続方法について

    データベースの接続方法について勉強しています。 ADOやDAO,ADODB,OLDDBやODBC等調べていて混乱しています。 上記について分かり易い書籍をご存知でしたら教えていただけませんでしょうか。 現在使用している環境は ・SQLserver2005 ・VB 2008 です。

  • .NETのOracle接続

    Oracleへの接続で、「oo4o」と「ADO.NET」などがあると思いますが、 Webで調べてみたら、「ADO.NET」が推奨されていますが、何故なのでしょうか? 開発環境は以下のとおりです。 言語:VB2005 Oracle:10g 両者の違いがよく分かりません。。 基本的な事かも知れませんが、ご教授いただければ幸いです。

  • oo4oの代わりは?

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