いつもお世話になってます。
質問が下手で申し訳ございません。
ADOでORACLEに接続し、SELECTした結果をCSVへ登録する処理を作成してますが、ADOのMoveNextでアプリケーションエラーが毎回発生します。
そこで、エラーの調査方法を教えて下さい。
環境 OS:NT4.0 SP6 AP:VB6.0 SP5 DB:ORACLE 8.1.7
下記にソースを記述します。
Dim pCon As New ADODB.Connection
Dim rs As New ADODB.Recordset
pCon.Open "DSN=DSN名;uid=UID名;pwd=PASSWORD"
Set rs.ActiveConnection = pCon
strSQL = "select * from テーブル名"
rs.Open strSQL, pCon, adOpenStatic, adLockReadOnly, adCmdText
intFileNo = FreeFile
Open CSVファイル For Output As #intFileNo
Do Until rs.EOF
CSVファイルへの出力処理ですが、
エラー調査のため、条件付きIFで処理を
飛ばしています。
rs.MoveNext
Loop
Close intFileNo
rs.Close
実際には、Selectした内容をMoveNextしているだけなんですが。。。
どうかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
エラーの原因はわかりません(肝心のエラーコードも書いてないし)が、取りあえずのツッコミどころをいくつか・・・。
(1) As New 宣言はやめましょう。VB6.0以前では、パフォーマンス上の理由から推奨されません。(VB.NETでは意味合いがまったく違いますが・・・)
(2) ODBCプロバイダは止めましょう。OLEDBプロバイダを使うか、またはADOをやめてoo4oを使うべき。
(3) SELECT文にORDER BY句がありませんが、並び順は考慮しなくてよいのでしょうか?
(4) CSV出力なら別の(よりよい)手段がありそう。
> CSVファイルへの出力処理ですが、
> エラー調査のため、条件付きIFで処理を
> 飛ばしています。
ここの部分、怪しくないですか?
(実際にはEOFの状態でMoveNextしてるとか・・・)
この回答への補足
早速の回答ありがとうございます。
エラーコードですが、ダイアログが表示され"メモリがwritten"になることはできませんでした。”です。
(2)はどうしてか教えて頂けないでしょうか(無知ですいません)
(3)1項目ORDER BY句があります。
あと、デバッグモードで確認しましたので、EOFの状態でMoveNextはしておりません。
以上です。
No.2
- 回答日時:
> (2)はどうしてか教えて頂けないでしょうか
ODBC / oo4o / ADO + OLEDB の比較優劣は識者のコメントに期待するとして(おい)、CSVへの出力はSpool使った方がよくありませんか?
BEGIN / END で括ればoo4oから実行できそうな気がします。(試してないんで、アレですけど・・・)
参考URL:http://homepage1.nifty.com/kojama/works/rdbms/or …
大変有益な情報を提供して頂きありがとうございました。
oo4oでうまく行きましたことをご報告いたします。
又何かありましたら宜しくお願いします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでレジストリキーの...
-
FTPの送信結果を検知したい
-
アクセスのクエリでコンパイル...
-
「パス名が無効です」の発生原因
-
VBでファイルが開かれているか...
-
gccを行ってもexeファイルが生...
-
Returnに対するGoSubがありません
-
Access2013にてドラッグ&ドロ...
-
VB6 Dir関数で52エラー発生
-
ワークブックに名前をつけて保...
-
エクセルマクロでエラーの原因...
-
EXCELのVBAでWORDが開いてある...
-
excel VBA webからデータを取り...
-
RAR圧縮ファイル(分割)の順番が...
-
VBから参照できないCのDLLを使...
-
すでにファイルが開かれている...
-
VBA データセットした後にその...
-
Excelファイルのマクロによる排...
-
CSVファイルが開かれているかど...
-
Adobeのプレミアプロの書き出し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
VBでファイルが開かれているか...
-
「パス名が無効です」の発生原因
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
PowerShellを使って関連付けら...
-
アクセスのクエリでコンパイル...
-
VB6 Dir関数で52エラー発生
-
FTPの送信結果を検知したい
-
NAS上のファイルの使用中が解除...
-
VBA ExecuteExcel4Macro 型が一...
-
access テキストボックスの値取得
-
EXCELのVBAでWORDが開いてある...
-
すでにファイルが開かれている...
-
EXCELVBAでONEDRIVE上への保管...
-
Excelファイルのマクロによる排...
-
OUTLOOK VBA 指定フォルダ内の...
-
エクセルマクロでエラーの原因...
-
Adobeのプレミアプロの書き出し...
おすすめ情報