- 締切済み
VB6.0 DAO ORACLE ヒント使用方法に付いて
taker_masaの回答
- taker_masa
- ベストアンサー率0% (0/0)
ヒント句の記載がORACLE特有のSQLであるため、ODBC経由ではうまく処理できないのではないかと思います。 ODBCにSQL文の処理をさせず直接Oracle側にSQLを投げる方法としてパススルークエリという方法があります。 なのでパススルークエリを使えばうまくいくかもしれません。 コーディングは得意でないので怪しいサンプルですが、下記のような感じでどうでしょう? (実行環境がないので試せていません。) === Dim dDB As Database Dim sSQL As String Dim rRS As Recordset Dim ConnectStr As String ConnectStr= "ODBC;DSN=XXX;UID=XXX;PWD=XXX;" sSQL = "SELECT /*+ index( テーブル名 インデックス名) */ * FROM テーブル名 WHERE 各種条件 ORDER BY 順序指定" Set dDB = OpenDatabase("", False, False, ConnectStr) Set rRS = dDB.OpenRecordset(sSQL, dbOpenSnapshot, dbSQLPassThrough) ・・・ === もし、動作しないようであれば、パススルークエリについて調べて動くように修正してみてください。 === Your DBA MOTO:TAKER
関連するQ&A
- VB+Oracleで「特定できないエラー」
皆様、いつも御世話になっております。 OS : Windows 2003 Server 開発環境 : VB6.0 + Oracle8 ライブラリ : Microsoft ActiveX DataObjects 2.8 Library ADOでODBC経由でOracleに接続し、 (接続文字列 DSN=XXXX;UID=XXXX;PWD=XXXX) Set rst = New ADODB.Recordset sql = "select * from TBL0001" ●rst.Open sql, cnn, adOpenStatic, adLockOptimistic do while not rst.eof rst("FLD0001")=XXXX ..... この●の行で「特定できないエラー」と出てしまいます。 詳細も不明なので、原因が全くわかりません。 稀にうまく動作するのですが、ある程度レコード処理をして、再度●へ戻るとエラーが出ます。 お手数ですが、宜しくお願い致します。
- ベストアンサー
- その他(データベース)
- VB5+DAO3.5でSQLサーバーに接続方法
実行環境はNT4.0、DAOは3.5(3.51ではない) VB5でSQLサーバーに接続したいのですが、 できるのでしょうか? できればODBC経由でなく直に繋ぎたいのですが、むりならODBC経由でもいいです。 サンプルコードをお願いいたします。 1)DB接続、2)SQL文発行&レコードセット取得 位まであればありがたいです。 上記が無理の場合RDOでの使用方法があれば お願いいたします。
- ベストアンサー
- SQL Server
- ORACLEデータをACCESSへインポート VB
OracleのデータをAccessへインポートする方法について、どなたかご教授ください。 VB.NETで OracleからAccessへのデータコンバート機能を作ることになりました。 (環境 OS;Win7 言語;VB2008 Oracle;10g Access;2010) 対象のテーブル数、フィールド数、データ数がかなり多いのですが、Accessへデータをインポート(コピー)する良い方法はないでしょうか? 普段、データ入力が専門のためプログラムは初心者です。 今のところOLE DBを使用して1行ずつデータを登録する方法しかできません・・・ ヘルプを参考に、ODBCでDSNレスのINTO(SQL)を挑戦しているのですが「入力テーブルまたはクエリが見つかりません」と出てしまいます。 ◇質問 (1).複数のテーブルをAccessへコピーするにはどんな方法がありますか? また、このような対象テーブルが多い場合に有効な方法は? (2).ODBCでDSNレスのINTO(SQL)を作成するのに注意することはありますか? ちなみにエラーが出てしまうSQL文は以下です。違っているでしょうか? cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\DATA\DB.mdb" sql = "SELECT * INTO impテーブル名 " & _ "FROM [ODBC;DRIVER={Microsoft ODBC for Oracle};" & _ "SERVER=" & orSorc & ";" & _ "UID=" & orUsrID & ";" & _ "PWD=" & orPswd & "].expテーブル名" ※ Oracleは10g/11gのバージョンが存在するためODPは使用しません
- 締切済み
- Visual Basic
- VB6より長文INSERT文でORA1756単一引用符が閉じられていないが発生する
初めまして。 VB6、ORACLE8iでダイナセットを使用しテーブルに対してINSERT文を 発行していますが、INSERT文が長文になると”単一引用符が閉じられていません” とエラーが返ってきます。このSQL文と同一のものをPLUSにて実行させても 同一のエラーが発生するのですが、メモ帳等で改行して一行を短くすると 正常にINSERTされます。 それならと思い、SQL文作成コード内に改行コードを挿入したのですが VB上からは同じようにエラーが返ってきます。改行コード入りのSQL文を イミディエイトより取り込みPLUSにて実行させると正常に動作します。 どうすればVB上から正常実行できるのでしょうか? 初心者ゆえどうすればよいかさっぱりわからなくなりました。 VB上からは何か制約があるのでしょうか? どなたかご存知の方ご教授願います。 長文失礼しました。
- 締切済み
- その他(データベース)
- Oracle8iの使用方法について
今回、初めてOracleを扱うことになりました。 やることは、PL/SQLのプログラムを作成、 テストです。 現在、PL/SQLのプログラムを作成しました。 これから後の作業で使用するツール(画面)が よくわからないので教えてください。 1.コンパイル SQLPLUSで、ファイルを開いて、「@ファイル名.sql」で コンパイルでいいのでしょうか? WorkSheetでも出来ると聞いたのですが、 どのツールが便利でしょうか? 2.テスト 作成したPL/SQLのプログラムを実際 試す場合、SQLPLUSの実行でいいのでしょうか? 実際のプログラムの内容は、 あるファイルを読みこんで、テーブルのデータを 更新する、といったものなんですが・・・ ★その他質問 1)CSEというソフトをダウンロードしたのですが、 これは、Accessのように使えるんですか? テストで使うデータは、Accessのように、 CSEで値を入力すればいいんでしょうか? データは一般的にどのツールで作成するのが いいのでしょうか? 2)オブジェクトブラウザというのは、なんのことでしょうか? 3)他に、Oracleで使用するメジャーなツール がありましたら、教えてください。 以上、初歩的な質問で申し訳ありませんが よろしくお願いします。
- ベストアンサー
- Oracle
- ACCESSデータベースにVB6(DAO)でフィールドを追加したい
既存のACCESSデータベースのテーブルにVB6のDAOでフィールドを追加したいのですが、テーブル名.Fields.Append とかいうメソッドがあるようですが、使用方法がわからずフィールドを追加が出来ません。 具体的には、フィールド名"電話番号"で、文字型で固定文字数13を追加したいのです。 どうぞよろしくお願いします。
- ベストアンサー
- Visual Basic
- DAOでテーブル名を取得したい
Windows2000 & VB6 テーブルの数も各テーブルの名前も不明なMDBファイルにDAOで接続して、全てのテーブル名を取得する方法がわかりません。 どなたか教えてください。
- ベストアンサー
- Visual Basic
- oracle8.1.7について
現在の状態です。 oracle8.1.7のサーバーインストール後、使用するユーザーを作成し、その後ユーザーが使用するスキーマの設定まで行いました。 その後でスキーマ領域にsqlplusを使用してCREATESQL文を発行したんですが「作成したスキーマ領域に表の権限がありません」というエラーメッセージが消えません。 表の権限ってどのようにつければよいですか?
- ベストアンサー
- その他(データベース)
- 【ORACLE】SQLPLUS【HADING変数】
LinuxOS上(CentOS 5.6)上でOracleの11gR1を使っています。 データベースにアクセスする際にSQLPLUSを使っているのですが、テーブル表示の際にコラムのタイトルが表示されなくなってしまいます。 例: 11:07:07 ORACLE > SHOW HEADING heading ON 11:07:16 ORACLE > SELECT * FROM EXAMPLE; 1||ONE ← コラムのタイトルが表示されない 2||TWO 3||THREE ※ORCLE_HOME/sqlplus/admin/login.sqlにてそれぞれTIMEをON, PROMPTを” ORACLE > ”、セパレーターを”||”に変更してあります。 またsqlplus -R 3 (ファイルシステムの変更を禁止するレベル)で入り、パラメーター関連を読み込まない状態では、 SQL> select * from example; COLUMN_01 COLUMN_02 ---------- ---------- 1 ONE 2 TWO 3 THREE SQL> show heading heading ON とちゃんと表示されます。 インターネットをいろいろ調べていてもHEADINGのパラメーターをONにするぐらいしか見つからず、途方にくれております。 実務に致命的な支障はないのですが、「このテーブルなんだったっけな」と確認したい時にわざわざ「DESC」コマンドを打たなくてはなりません。 是非タイトルを表示できるようにできないでしょうか。 おわかりになる方、同じことを経験された方、どうぞよろしくお願い致します。
- ベストアンサー
- Oracle
- Excel VBA DAO バージョン 一覧
いつもお世話になっております。 現在Excel2007でマクロを組みました。 下記ソースのような形で、マクロを実行するブック内にあるシートから、データを取得するのですが・・・・ ~ソース例~ dim dbEngine as object Dim db as object Dim rs as object Dim sql as object '■SQL格納 sql = sql & "Select 社員名 " sql = sql & " ,Sum(月収) as 年収 " sql = sql & " From 月収一覧 " sql = sql & "Group By 社員名,月収; " '■DBを開く Set dbEngine = CreateObject("DAO.DBEngine36") Set db = dbEngine.OpenDatabase("C:\社員月収.xls", False, False, "Excel8.0;") '■SQL実行後レコードセットへ格納 Set rs = db.Openrecordset(sql) としていますが「■DBを開く」の部分でCreateObject内で宣言している”DAO.DBEngine36”の部分がありますが、バージョンによって表記が違うかと思います。そこで、バージョンによる表記のしかたの一覧がほしいのです・・・・ <例> Microsoft DAO 2.5/3.0 Compatibility Microsoft DAO 3.0 Object Library Microsoft DAO 3.5 Object Library Microsoft DAO 3.6 Object Library → "DBEngine36" 以上です><よろしくお願いいたします!!
- ベストアンサー
- その他(プログラミング・開発)