![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
いつもお世話になってます。
質問が下手で申し訳ございません。
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでレジストリキーの...
-
PowerShellを使って関連付けら...
-
Returnに対するGoSubがありません
-
エクセルマクロでエラーの原因...
-
NAS上のファイルの使用中が解除...
-
「パス名が無効です」の発生原因
-
アクセスのクエリでコンパイル...
-
VBA ExecuteExcel4Macro 型が一...
-
Access2010 コンパイルエラー...
-
DisplayAlertsブロパティで ”実...
-
EXCELのVBAでWORDが開いてある...
-
ワークブックに名前をつけて保...
-
エクセル VBA dll 読み込...
-
gccを行ってもexeファイルが生...
-
VISIOは上位互換のはずなのにフ...
-
EXCELのVBAでの保存方法
-
VBAのChangeFileOpenDirectory...
-
ファイル アクセス権のエラーの...
-
ACCESS VBAでのインポート
-
freadでデータがない場合の読込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Returnに対するGoSubがありません
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
「パス名が無効です」の発生原因
-
FTPの送信結果を検知したい
-
アクセスのクエリでコンパイル...
-
ACCESS VBAでのインポート
-
VBから参照できないCのDLLを使...
-
VB6 Dir関数で52エラー発生
-
すでにファイルが開かれている...
-
freadでデータがない場合の読込...
-
access テキストボックスの値取得
-
fgets関数のEOFの扱い方について
-
NAS上のファイルの使用中が解除...
-
Access2013にてドラッグ&ドロ...
-
【COBOL】read文でエラー
-
エクセル VBA dll 読み込...
-
PowerShellを使って関連付けら...
-
アクセスでイベントのロジック...
-
エクセルマクロでエラーの原因...
おすすめ情報