• ベストアンサー
  • 困ってます

ACCESSでの大容量データインポート

2.6Gもある大きなデータベースをテキストファイルでもらったので、エクセルでは開けないのでACCESSを使おうと思い、ファイル-外部データの取り込み-インポート で取り込もうとしたら、「ファイル<ファイル名>にはデータが含まれていません。」とエラーメッセージが出てしまいます。それで、テキストエディタでこのファイルを先頭の容量の限界まで読める分だけ読み込んでそれをそのまま保存して、同様にACCESSで読み込もうとすると今度は成功します。だけど、これでは元のデータの1%くらいしか読めません。何で、データは確かに存在しているのにこのようなエラーメッセージが出るのでしょうか。どなたかわかる方がいらっしゃったら教えてください。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数5461
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3
  • imogasi
  • ベストアンサー率27% (4576/16387)

#2です。 >やりたいことは、その中から分析に必要な1000万行と4列のデータを取り出すことで この程度なら大騒ぎをしないで、VB(VBAが手軽)プログラムで、 テキストファイルを読むー多分Splitで項目に分離ー列(項目)に関する条件(決った列だけと思うが)+行に関する条件(指定値より大であるものとか、3つおきにデータを拾うなど)ー新しいファイルに書き出す を繰りかえせば良い。 かかる時間については数千万レコードは時間がかかって使い物にならないかどうか、やった経験も無くわからない。 プログラムそのものは十数行で済むだろう。 WEB(Googleなど)にでも、 テキストファイルを開く VBA テキストファイルを読む VBA Split VBA CSVファイルを書く VBA などでコード例が出ると思う。 色々やり方はあっても、全体使用(処理)時間的には、この質問の場合の問題程度では、シーケンシャルファイルを読むのが一番処理時間が少ないはず。 ーー 常識的にはデータをもっと減らしても分析結果に影響しないのでは。 画像データや動きのあるものを記述するデータでなければ、分析にそんなにデータ数は要らないとおもうが。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

知りませんでした。VBAでやる方法もあったんですか!ファイル10分割ではかなり面倒なので、是非挑戦してみます。

関連するQ&A

  • アクセスにインポートできません。

    Access97を使っています。 エクセルもcsvもインポートできません。 「外部データの取りこみ」→「インポート」で進み、 「ファイルの種類」を選択しようとしたところ、 一覧にエクセルもcsvも出てきません。 「Microsoft Access」と「ODBCデータベース」 のみです。 エクセルもcsvも検索はできますが、 インポートしようとすると 「データベース形式○○○を認識できません。」 というエラーメッセージが表示されます。 どうすれば解決できるでしょうか? よろしくお願いします。

  • Access 外部データ インポートエラー?

    Access2010で外部データ(Excel2010)インポートで以下のエラーメッセージが出ます。 このプロパティは外部データソースまたは 前のバージョンのJetデータベースエンジンで作成されたデータベースではサポートされていません。 Excelのデータは特殊なものはありません。日付は空欄と日付以外は入っていません。 他のデータは問題なくインポートされています。 宜しくお願いします。

  • Access97 Excelファイルのインポート

    はじめまして、こんにちわ。 早速ですが、質問させてください。 Access97で既存のテーブルにExcelファイルをインポートした際にエラーがでてインポートできないファイルがありました。その原因を調査している次第です。 Excelファイルは様々な担当者に作成いただく予定ですので、エラーの再現性を確認して、原因となる作業を予め禁止しておきたいと考えております。 (1)ファイル→外部データ取込→インポートからインポートするExcelファイルを選択し、インポートボタンを押したところ、『ファイル○○にアクセスできません。このファイルが存在するか、またファイルの形式が正しいか確認してください』と言うエラーが出ます。 実際にそのファイルは開けますし、同じように作成したファイルはインポートできるものもあります。 中身を全てコピーし、新規作成したExcelファイルに貼り付けて名前をつけて保存したものをインポートすると、問題なくインポートできました。 どういった作業をすると、上記エラーが出るようなファイルになってしまうのでしょうか。 (2)ファイル→外部データ取込→インポートからインポートするExcelを選択し、インポートボタンを押した後、ワークシートインポートウィザードで『先頭行をフィールド名として使う』をチェックすると、『先頭行にAccessフィールド名に使用できない文字が含まれています。』というエラーが出ます。 調べてみると、空白の列がフィールドとしてインポートされるようになっています。Excel上では何も表示されていない列で、その列を削除すればエラーがなくなります。 どういった作業をすると、空白の列や行がインポートされるようになってしまうのでしょうか。 お手数ですがよろしくお願い致します。

その他の回答 (2)

  • 回答No.2
  • imogasi
  • ベストアンサー率27% (4576/16387)

エクセルのバージョンが書いてないが、2007でも開けませんか。 2007ではないのかな。 ACCESSのバージョンも質問異は書くものだ。 http://office.microsoft.com/ja-jp/excel/HA100738731041.aspx#FileFormats >Excel 2007 では 2 GB に拡大されました。 途中まででも読み込まないかな。 読み込んだあとどういうことがしたいのか参考までに書いて質問するものだ。 テキストファイルはどんな言語でもたやすく読めるのでプログラムを勉強することだな。2、3にテキストやCSVファイルを分割するプログラムは簡単。 データは理系のデータなのかな。 Mdbファイルとして読み込むのは(何分割かの一部にはなっても)少し勉強すればコードはわかる。その後の処理が問題だ。 ーー http://office.microsoft.com/ja-jp/access/HA102188641041.aspx >Access 2007 ファイルの最大サイズは 2 GB です ーー Googleで「ACCESS ファイル容量 制限」で照会すれば http://q.hatena.ne.jp/1155563074 など色々出てくる(2007のことではないものあり注意。) 読んでみたら。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。すいません、ACCESSのVersionを書かないと駄目ですね。2003です。2007へのUpgradeを考えて見ますが、ちょっと私の手には負えないかもしれません。 読み込もうとしたデータは、2000万行×17列のデータが入っているテキストファイルです。やりたいことは、その中から分析に必要な1000万行と4列のデータを取り出すことで、もともとエクセルでやろうと思ったのが、読み込めなかったんで、「じゃあ、ACCESSで」と思ったんですが、だめでした。とりあえず、テキストファイルを行で分割するソフトを手に入れて、200万行のファイルを10個作って読み込みました。データの処理はRでやる予定だったので、その後はRで結合させようと思います。勉強になりました。

  • 回答No.1

今のバージョンはよく知らないけど、昔のaccessはファイルサイズに2Gの制限があった。 そのあたりで引っかかっているんじゃないかな。 ほかのDBを使ったほうがよいと思う。 どうしてもアクセスで挑戦したいなら、、 ファイルをFSOかなんかで読んで、 分散させたMDBにADOなどで1行ずつ追加していって、 リンクテーブルをいっぱいつくって、、、 気が遠くなる話ですね。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早速、ありがとうございます。それは知りませんでした!2Gが限界なんですね! だとすると他のDBか、DBを分散するしかないんでしょうね・・・・・ FSOという言葉も初めて知りました。これって、ファイルを2分割とかするソフトなんでしょうか・・・?勉強してみます。 ありがございました。

関連するQ&A

  • PSV形式ファイルをAccessにインポートしたい

    いつも楽しく勉強させていただいております。 Access2013を使っています。 やりたいことはこのAccessにPSV形式(","の代わりに"|"で区切られている)のファイルをインポートしたいのですが、うまくいきません。 [外部データ]-[テキストファイル]-[参照]で開くダイアログボックスで拡張子.psvのファイル名を指定すると下記のエラーとなります。 "次の拡張子がないテキストファイルはインポートできません。txt,csv,tab,asc,tmp,htm,html,log" つまり拡張子がいけないようです。 ファイルの拡張子を.csvに変更してインポートするとうまく取り込めるときと"インデックスが有効範囲にありません"のエラーになるときがあります。 うまくいったときにインポートの定義を保存しようとしましたが、できませんでした。 当面の逃げ道としては、"|"を","に変更し、拡張子を.csvにして保存したファイルを取り込んでいます。 それでもいいのですが、何かスマートな解決法はないものでしょうか。

  • ExcelファイルをAccessで上書き保存? 開けないです!

    エクセルで加工したデータをアクセスにインポートしようと思っていました。 が!!外部データの取り込み作業と勘違いし、 Accessの新規作成→空のデータベース→新しいデータベース ダイアログボックスでエクセルファイル名を選択してOKしてしまいました。 エクスプローラーで見ると、ファイル名は.xlsのままですが、エクセルで開くことが出来ません。 苦労して作成したエクセルファイルを元に戻す方法はありませんか? 助けて下さい・・・(涙)

  • インポートの種類にエクセルがない?

    こんにちは。皆さまのお力を貸してください!! 会社のパソコンで使っているAccessについてです。 今まではファイル→外部データの取り込み→インポートでファイルの種類をExcleにするとインポートできたのですが、何故かこのファイルの種類の中にExcleが出てこなくなってしまったんです。他にもテキストファイルやHTMLドキュメントもありません(もう一台のパソコンで比べてみました)。 再インストールをやってみましたが状況は変わりませんでした。Access初心者の私に考えつく方法はこれくらいしかなかったのですが。 何とか元のようにするにはどうしたらよいのでしょうか? ちなみにOSはWin98でOffice97を使っています。 何とぞよろしくお願いします。

  • テキストファイルをAccessへインポートする自動化の記述方法は?

    Accessの画面より、コマンドボタンをクリックして、外部データベース(MDB)にテキストファイルをインポートするプログラムを作っているのですが、記述方法がわかりません。どなたか回答願います。カレントデータベース(mdb)へテキストファイルをインポートするプログラムは作成したことはあります。

  • 【ACCESS2002】csv形式データのインポートエラー

    ACCESS2002を使用しています。 csv形式のデータをインポートしようとしますと、「オブジェクト'(ファイル名)'が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。」というエラーメッセージが表示されます。 ファイルが破損しているのでしょうか? よろしくお願いします。

  • accessでmdfファイルをインポート

    お世話になります。 SQL Serverの中のmdfファイルをAccessで開きたいのですが、 手順がいまいち分からないので教えて頂けないでしょうか。 コントロールパネル - 管理ツール - データソース(ODBC)- システムDSN の中にSQL Serverがあることを確認。 Accessを起動してファイル - 外部データの取り込み - インポート ファイルの種類 - ODBCデータベース この後、データソースの選択というダイアログが出ますが ここでは先程のコントロールパネルのシステムDSNの中にあった "SQL Server"を選択すれば良いのでしょうか? また、SQL Serverというのは必ずID・Passが設定されていている ものなのでしょうか?そしてAccessなどで参照するにはそのID・Pass が必要になるのでしょうか? どうかよろしく願い致します。

  • MS AccessでExcelファイルのインポートは?

    AccessのVBAでExcelファイルをインポートするにはどうすればいいのでしょうか? ちなみに DoCmd.TransferText acImportDelim, , "Tmp名簿", strInPutPath & "\名簿.csv", True (strInPutPathは、ダイアログから取得したパスです) では、CSVファイル(TXTファイル)しか読み込めません。 (もちろん、そのため拡張子が「.csv」にしていますが 読み込むファイルをテキストファイルにしたら「.txt」でもいいです) 「ファイル」メニュー(コマンド)の「外部データの取り込み」→「インポート」では、Excelファイルも読み込めるので悔しいです。 これをVBAでやりたいんですが。 よろしくお願いいたします。

  • ACCESS97のインポート・エクスポートについて

    ACCESS97を使用しています。 インポート・エクスポートについて下記の質問があります。それぞれ  ファイル-外部データの取り込み-インポート  ファイル-名前を付けて保存/エクスポート で実行できます。  また定期的に実行したい場合、フォーム上の操作によって  モジュール(プロシージャ)を実行させ インポート・エクスポートする方法も  見たことがあります。 今回 教えてほしいのは  Q1   ファイルの操作とモジュールの作成以外で    インポート・エクスポート操作   をする方法はあるのかどうか です。    また関連して  Q2 EXCELファイルからインポートすることは可能かどうか  Q3 SLKファイルへエクスポートすることは可能かどうか  教えて頂きたいと思います。

  • 拡張子のないファイルをACCESSにインポート

    ACCESS2003についての質問です。 データをインポートする際、拡張子の付いていないファイル(データの内容は区切り記号付きテキストファイルで表示することができます。)をACCESSにインポートする方法を教えて下さい。 .txt や .csv などの拡張子をつればACCESSでインポートできるファイルになるのですがその手間を省けないか?と言われています。 それ位してくれよと思うのですが・・・ VBAは少し勉強しているのですが、VBAを利用すればACCESS上でファイルに拡張子を付け加える事は可能になるのでしょうか?教えてください。

  • インポートできない

    エクセルで作成したデータを、アクセスにインポートしたいのですが反応がありません 手順はこうです。 ・データベース画面のテーブル表示 ・何もない所で右クリック→インポート ・ファイルの種類で「xls」を選択し、インポート 普通ならここでインポートウィザードの画面になるのですが、出てきません ファイル→外部データの取込→インポートの手順でも同じです どうすればインポートできるのでしょうか