- ベストアンサー
VC++からのoracle接続方法
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。itohhといいます。 前にも同じようなことをアドバイスしたような... そのときに、参考となるURLを紹介したのと同じですが載せておきます。 ・ADOを使ったデータベースアクセス URL:http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_ADO.html あとは、ご自分でGoogleなどで検索してみてください。
その他の回答 (2)
- osaosa42
- ベストアンサー率60% (20/33)
オラクル限定なら「oo4o」がもっとも高速で使いやすいですよ。 ヘルプもオラクルをインストールすれば入っているはずです。 oracleのバージョンって8.0.5ですか? 8.0.3だと設定がめんどくさかったような・・・。
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) やはり、環境変数まわりの設定が問題でしょうか? よろしくお願いします。
- 締切済み
- Perl
- 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と同様に日本時間で結果を返すようにするには どのようにすればよろしいでしょうか? よろしくお願いいたします。
- ベストアンサー
- Oracle
- 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です。 宜しくお願いします。
- ベストアンサー
- Oracle
- 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の表を参照するよう 設定してやるのかがわかりません。 何が不足しているのかご教授下さい。 よろしくお願い致します。
- ベストアンサー
- Oracle
- 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を起動するときちんと接続できます。 何か順番や方法を間違えているのでしょうか? ちょっと急いでいてなるべく早く解決させたいので、 間違い・チェックすべき事の漏れなど 直接的な解決策でない事でもかまいませんのでご教授下さい。
- 締切済み
- Oracle
- 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)を実行したときにはデータベースへの接続が切断されました。実装方法がおかしいでしょうか?
- 締切済み
- Visual Basic
- 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") どんな原因が考えられますでしょうか? お教え下さい。よろしくお願いいたします。
- ベストアンサー
- その他(データベース)