
txtファイルをDoCmd.TransferTextでインポートする事は出来ているのですが、データが15~30万件ほどありかなり時間が掛かります。SQL文でのレコード全件DELETEがかなり高速だった為、インポートもSQLの方が処理が早いのでは?と思い色々サンプルをさがし、下記のようにしてみたのですが、SQL文をうまく書けず、作動しません。
間違い部分を指摘していただけませんでしょうか?
DoCmd.RunSQL "INSERT INTO Add_house_TEMP ( ハウス,カスト,SG1ステータス )"& _
"SELECT [add_house#txt].F1,[add_house#txt].F2,add_house#txt].F3"& _
"FROM add_house#txt IN "\\sv999999\_営業部\個人\作業場\20071115" "Text;HDR=NO;"
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#1です
> データが15~30万件ほどあり
> DB:MS-ACCESS2000
この時点で色々な意味で厳しいです
当のMicrosoft自身が複数ユーザでの利用や大量データで使う場合
MS-Accessは推奨しない、そういう場合のためにSQLServerがあると言っています
勘違いされるかもしれないので補足しますが、DBMSとして問題が大きいのであって
フロントエンド(フォームやレポートでDB上のデータを表示したり印刷)として使う分には有りと思います
・現在: DBMS(MS-Access200)→フロントエンド(MS-Access200)
・推奨: DBMS(Access以外)→フロントエンド(MS-Access200)
自分は過去に色々有ってフロントエンドとしても絶対に使いませんが...
> やはりインポート定義を指定したTransferTextメソッドが早いという事でしょうか?
どうしてもMS-AccessをDBMSとして使いたいという場合、私にはわかりません
ただし、フロントエンドとして使うという事で有れば他のDBMSにインポートして
Accessからはリンクテーブル(昔の記憶からです、今は呼び方が違うかも)として参照します
予算が厳しいという場合でもMySQLやPostgreSQL等、MS-Accessより安定した
DBMSが有りますから、そういう物で代用します
MS-Access用のODBCドライバ等も揃っていますから検討されてはどうでしょう?
こういった感じで移行できますが、環境構築や文字コード、型の違いなどではまるのも目に見えていそうな...
http://oshiete1.goo.ne.jp/qa1810819.html
http://oshiete1.goo.ne.jp/qa3282664.html
http://oshiete1.goo.ne.jp/qa2952024.html
でも、MS-AccessのMDBにデータを保存していると行詰るのも早いので
大量データを扱い続けたいのでしたら移行をお勧めします
データベースの最適化と修復が常に必要なDBMSは、恐ろしいです
参考URL:http://oshiete1.goo.ne.jp/qa49288.html
No.1
- 回答日時:
コードの断片から想像するにVBあたりでしょうか?
仕事柄、速度優先する案件が殆どなのでVB(や.NET)は使う事もなく的外れかもしれませんが^^
どのようなデータベースを使われているか不明ですが大量ですので
MS-Accessという事は無いという前提で^^
Microsoft自体が大量データを入れちゃいかんという見解ですから^^
まともなデータベースシステムであればテキストファイルからのインポート
ユーティリティが付属しています。
そのユーティリティをシステムコールで呼び出すのが一番高速です
例: oracleの「imp」コマンド
番外編として、質問者の環境で使えるかどうか不明ですがテキストドライバを
経由して表に見せかける事も可能ですが、あまり早く無いと思います
インポート用のファイルはデータベース毎に微妙な書式の違いが出てしまうため
大昔に汎用性を持たせるためにDelphiで自作しましたが、メーカー純正の
ユーティリティの速度では勝てません
最終的には各DBに合わせた書式へ変換するためのプログラムを間に挟む
事にしました
例: 日付型をインポートする際に「YYYY-MM-DD」「YYYY/MM/DD」「YYYYMMDD」のように受け入れ可能な物がばらばらだった
ユーティリティの起動オプションで対処可能な場合も有りますが
各データベースの標準的な書式(オプション無しで取り込める)に合わせるのが
一番問題が少ないと思います
参考までにメーカー純正のユーティリティでは速度を稼ぐために
色々なオプションが有ります
良く検討してから使わないと、落とし穴にはまるかもしれませんので慎重に^^
例: キー重複時の動作、インデックスを含めた制約の反映タイミング等
参考URL:http://www.microsoft.com/japan/technet/scriptcen …
この回答への補足
os:windows2000,
DB:MS-ACCESS2000
です。記入漏れしていました。
>そのユーティリティをシステムコールで呼び出すのが一番高速です
やはりインポート定義を指定したTransferTextメソッドが早いという事でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- Visual Basic(VBA) エクセルVBAでメールの自動作成の モジュールを作ったのですが、txtファイルから読み込んだ本文が文 2 2022/07/20 15:01
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザー辞書の引越し方法は?
-
OutlookExpress...
-
別のパソコンへOSを含めたデー...
-
裸の内蔵HDからwin7へのデー...
-
Outlook ExpressからWindows Li...
-
XP→Windows7にデータ移行
-
Outlook Express のデータを新...
-
現在windousMEを使用しておりデ...
-
sql文でcsvファイルをインポー...
-
outlook2002からoutlook2007へ...
-
outlookの受信メールを移行したい
-
Outookメールデータの圧縮
-
XPから7へのメール移行
-
パソコン初心者
-
LINEに貰った写真、直接SDカー...
-
Outlookで2週間以上前のメール...
-
outlook2013のアドレス入力
-
サンダーバードで受信した複数...
-
javaとはなんですか?
-
OE6→Live Mail2011へアドレス移行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンの引っ越し作業につい...
-
メールやメールアドレスのコピ...
-
IE(OE)4.0から5.0...
-
Windows98の再インストール
-
MacからWindowsへのメール移行...
-
HDDいっぱい→メールデータ書き...
-
fax送信のアドレス帳が出ない
-
XP→Win8へのメール移行
-
VISTAのWindowsメールをWindows...
-
【PC初心者】win98からXPへの買...
-
Win98SEからXPへのデータ移行に...
-
メールの移行
-
Outlook2003アンインストール後...
-
Windowsメールのメールデータを...
-
Administratorのパスワード
-
Outlook2002へのデータ移行方法
-
パソコンの買い替えでデータを...
-
旧PCのOutlookのアドレス帳を新...
-
vista から win10 に データ移...
-
パソコン乗換ガイドで復元ユー...
おすすめ情報