• ベストアンサー

VC++からのoracle接続方法

初めまして。 助けてください。今日も帰れません。 現在VCアプリケーションでoracleデータベースの チェック処理の実現方法で悩んでいます。 connect及びselectする方法が力不足の為、 解りません。 (以下に実行環境を明記します。) OSはwindowsNT(SP6) APはVC++6.0 oracle8.0 です。 何方かご存知の方が要らしたら教えて頂けないで しょうか?

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

  • ベストアンサー
  • itohh
  • ベストアンサー率45% (210/459)
回答No.2

こんにちは。itohhといいます。 前にも同じようなことをアドバイスしたような... そのときに、参考となるURLを紹介したのと同じですが載せておきます。 ・ADOを使ったデータベースアクセス URL:http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_ADO.html あとは、ご自分でGoogleなどで検索してみてください。

参考URL:
http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_ADO.html

その他の回答 (2)

  • osaosa42
  • ベストアンサー率60% (20/33)
回答No.3

オラクル限定なら「oo4o」がもっとも高速で使いやすいですよ。 ヘルプもオラクルをインストールすれば入っているはずです。 oracleのバージョンって8.0.5ですか? 8.0.3だと設定がめんどくさかったような・・・。

noname#30871
noname#30871
回答No.1

 VC++でOracleを検索するのでしたら、MFCのクラスを使ってODBC経由でアクセスすることが多いと思います。  コードの例としては、ネットやVCのヘルプで「CDatabase」「CRecordset」を検索してください。

関連するQ&A

  • オラクルsqllrd80についての質問

    テキストファイルのデータを編集せずにsqlldr80ユーティリティを使ってデータベースにロードする方法をご教授お願いします。 【環境】Oracle8.0.4     WindowsNT4.0server(sp4) 【テーブル構造】   AAAA  NUMBER(8)   BBBB  NUMBER(14,6)   CCCC  NCHAR(5) 【データ】 ※1行のテキストファイルです。 ※■ は、全角の空白になります。 ※□ は、半角の空白になります。 □□+20020121□□+00003401000300□□ATL様■■■■■■[eof]

  • Oracleのデータベースに接続できない。

    OS : WindowsXP SP2 Perl : ActivePerl 5.8.8 DBD : DBD-Oracle1.17 DB : Oracle9i PerlでOracleのDBサーバに接続ができません。 ソースは以下の通りです。 ================================================================================ #!perl -w use DBI; $dbh = DBI->connect('dbi:Oracle:test', 'scott/tiger') or die "An error occured : $@"; $dbh->disconnect; exit 0; ================================================================================ 上記コードを実行すると、connectの行でdieします。 ================================================================================ D:\test>perl ttoracle.pl DBI connect('test','scott/tiger',...) failed: ORA-12705: Cannot access NLS data files or invalid environment specified (DBD ERROR: OCISessionBegin) at ttoracle.pl line 5 An error occured : at ttoracle.pl line 5. ================================================================================ Oracleのサーバーはローカルにあり、ポートもデフォルトの設定です。 試しに、 $dbh = DBI->connect('dbi:Oracle:test@localhost:1521', 'scott/tiger') or die "An error occured : $@"; としましたが、結果は同じでした。 また、エラーの内容的に環境変数かと思いORACLE_HOMEを環境変数にセットしてみましたが、これもまた、結果は同じでした。 DBの接続については、sqlplusコマンドからであれば問題なく接続できます。 (コマンド:sqlplus scott/tiger@test) やはり、環境変数まわりの設定が問題でしょうか? よろしくお願いします。

  • Oracleのタイムゾーン変更方法を教えてください

    現在、AIX5.2Lで2つのOracleデータベース(仮にA,Bとする)を実行しています。 以下のSQLを実行した際の結果が、おのおの異なっており 恐らくタイムゾーンの違いによる物かと相当しているのですが、 タイムゾーンの変更方法が分からず困っております。 ■実行SQL SELECT TO_CHAR( SYSDATE, 'yyyy/mm/dd HH24:MI:SS' ) FROM dual; ■結果(日本時間:21時44分に実行) A:2005/03/11 12:53:24 →NG B:2005/03/11 21:44:20 →OK ■環境 OS:AIX5.2L DB:Oracle9.2.0.0 AもBと同様に日本時間で結果を返すようにするには どのようにすればよろしいでしょうか? よろしくお願いいたします。

  • ODBC経由での使用方法について

    Oracle8iをインストールして、OracleのODBC Driverを使用してDSNを設定。 VB6にてConnect→select→Closeをアプリケーションを落とさずに繰り返すと使用メモリが増加します。 selectだけを繰り返すと使用メモリは増えません。これってCloseの問題でしょうか? DBとの接続を考慮して必要な時にConnect→select→Closeを実施したいのですが、対処方法を教えていただけませんか。 ちなみに、close後は間違いなくNothingをセットしています。 使用しているのはVB6SP5、Oracle8i ODBC Driver 8.01.07.810、Windows2000です。 宜しくお願いします。

  • Access2000 からOracle9i への変更

    WindowsNT4 (またはWindows2000) VisualBASIC 6 sp5 でC/S型データベースアプリケーションを作成しようとしています。 初期の購入費用を低くおさえるために、始めはAccess2000で作成して、処理がきつくなってきたら、Oracle か MS-SQL-Serverに変えたいと思います。 その際の手間は、どの程度でしょうか? 全く見当がつかず、困っています。 ご存知の方、経験者の方教えて下さい。 情報不足がありましたら、ご指摘下さい。補足します。

  • Oracle 参照用ユーザー作成

    Oracle 9i で新規で参照専用のユーザーを作成しています。 が、うまく作成できなかったため質問したいと思います。 現在、下記のようなデータベース、ユーザー名となっています。 データベース :A ユーザー :A これに対して、以下のユーザーを作成しました。 ユーザー :B ロール :CONNECT システム権限 :select any table execute any procedure この状態で、データベースAに対してユーザーBへ接続はできますが、 SELECT文を実行しても、”ORA-00942:表またはビューが存在しません”メッセージが表示されます。 そこで、BのロールをDBAにしたり、オブジェクト権限に、データベースAの表に対して 使用可能な権限としてSELECTを指定したりしたのですが、やはり同様のメッセージが表示されました。 データベースAの表を見れていない状況だと思うのですが、どのように、Aの表を参照するよう 設定してやるのかがわかりません。 何が不足しているのかご教授下さい。 よろしくお願い致します。

  • Oracle11gの接続について大至急教えて下さい

    WindowsServer2008R2(64bit)にOracle11g(64bit)のデータベースを構築し、 同機上のアプリケーションからアクセスしようとしています。 (具体的にはPro*C/C++を使ってプリコンパイルしているCで作成したDLLやEXEです。) これらのアプリケーションは元々Oracle10gの機能を用いて作成してあった物を流用している為、 Oracle11g(32bit)のクライアントがないと動作しない様です。 従って、2008Serverには32bit版の11gクライアントもインストールしました。 (Oracle11g(64bit)のメディアパック内の32bitクライアントディスクからインストール) (手順) 1:Oracle11g(64bit)ホストのインストール&データベースの構築 2:Oracle11g(32bit)クライアントのインストール 3:データベースに表領域とユーザを作成 4:クライアントでローカル・ネットサービス名の作成 で、ここまではできたのですが、 11g(32bit)クライアント側のSQL*Plusを起動して作成したユーザでログインしようとすると ORA-12560:TNS:プロトコル・アダプタ・エラーが発生しましたとなってしまいます。 ただ、コマンドプロンプトから「ユーザ/パスワード@接続文字列」を直接指定して SQL*Plusを起動するときちんと接続できます。 何か順番や方法を間違えているのでしょうか? ちょっと急いでいてなるべく早く解決させたいので、 間違い・チェックすべき事の漏れなど 直接的な解決策でない事でもかまいませんのでご教授下さい。

  • AccessからOracleへのODBC接続

    現在、Oracleで作成したデータベースに接続して 検索するソフトを、Accessで作成してあります。 Oracleに接続をするのに、 ODBCを使用しているのですが、 最初依頼があったときは「Oracle8」のときだったので、 「Oracle8」のみ接続可能なプログラムが組んであり、 「Oracle10g」の入っているPCでは接続できないという問題が発生しました。 そこで、「Oracle8」と「Oracle10g」とも接続出来るように プログラムを書き換えたのですが、 現在は「Oracle11g」が最新になっていると思うので、 ゆくゆくはそれに対応しなければならないなあ、と思っています。 そうすると、Oracleがバージョンアップするたびに、 ソフトのプログラムを書き換えなくてはならなくなり、 効率的ではないな…と思いまして… Oracleのバージョンが違っていても、 自分のPCのOracleのバージョンを自動認識して、 AccessからOracleへ接続する方法はあるのでしょうか? ちなみに現在は、TableDefsコレクションを使用して、 まず、Oracle8で繋ぎにいき、それでエラーが起これば Oracle10gで繋ぎにいく、という処理を行っています。 【参考コード】 dim db as object dim tdf as object set db = CurrentDb set tdf = TableDefs("テーブル名") tdf.Connect = "(※テーブルのプロパティの説明のところに入る文)" tbf.RefreshLink (※ここが8と10gで違ってくる) よろしくお願いします。

  • Oracleへの接続について

    OS:WindowsWp 言語:Visual Studio 2005 Visual Basic データベース:Oracle10g ご教授願います。 1つのクラスでデータベースへの接続メソッド・SQL文発行メソッド、切断メソッドを実装し、それらを状況に応じて呼び出し、データの取得を行いたいと考えております。 以下、ソースです。 --------クラスここから Public Class ConnectOracle  Public myConnection as New OracleConnection  Public Sub ConnectDB()・・・(1)   myConnection.ConnectionString = "User ID=scott;Password=tiger;Data Source=orcl"   myConnection.Open()  End Sub  Public Sub SqlDB()・・・(2)   Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM EMP")   cmd.Connection = myConnection   cmd.CommandType = CommandType.Text   Dim reader As OracleDataReader = cmd.ExecuteReader()   ・・・・  End Sub  Public Sub DisConnectDB()・・・(3)   myConnection.Close()  End Sub --------クラスここまで Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  Dim Conn As New ConnectOracle・・・上記のクラス  Conn.ConnectDB()・・・(4)  Conn.SqlDB()・・・(5)  Conn.DisConnectDB()・・・(6) End Sub (4)実行でOracleに接続が行われ、クローズしていないのに、(5)を実行したときにはデータベースへの接続が切断されました。実装方法がおかしいでしょうか?

  • ASPからOracle9iへの接続方法

    環境は以下のように変更となりました。 ・サーバーOS:WindowsNT SP6→Windows2000Server ・DB:Oracle8.0.5→Oracle9i ・ASP ・クライアント:Oracle8.1.6のまま ASPでWebからoo4oでOracleDBに接続します。 Oracle8で動作していたASPが、Oracle9iに変更した ところ、ASPの動作で以下エラーがでてしまいます。  エラー内容:   「orasession作成中にエラーが発生しました」 oo4oでの接続は以下のように記述しています。  Set Application("OraSession") =  Server.CreateObjec       ("OracleInProcServer.XOraSession") どんな原因が考えられますでしょうか? お教え下さい。よろしくお願いいたします。