Microsoft Accessの現状について

このQ&Aのポイント
  • Accessの10年以上前までの状況しかしらないので、現状をご存じの方がいらっしゃれば、教えてください。
  • DBファイルのサイズが肥大化する問題やDBの最適化に関する状況についても知りたいです。
  • 24時間運用のシステムでAccessを使う際の注意点も教えてください。
回答を見る
  • ベストアンサー

Microsoft Accessの現状について

Accessの10年以上前までの状況しかしらないので、現状をご存じの方がいらっしゃれば、教えてください。 あの当時は、DBファイルが利用し続けていくと(データ、削除、更新をしていくと)、ファイルサイズが 肥大化していっていたのですが、現状もそうなのでしょうか? また、DBの最適化で、上記のサイズは小さくなっていたのですが、DBをSTOPしないと出来ません でした。現在もそのようになっているのでしょうか? 現在、24時間運用のシステムを作成しているのですが、DBを使った方が早いという流れになっています。安くDB(SQL)を使うには、ODBCではAccessくらいだと思っていますので(それしか知りません、SqliteがODBCで使えるのならば無料なのかもしれませんが、詳細がよくわかりません)、 以前の問題が引っかかっています。 Accessの2010、2013でもいいので、上記が現在、どうなのかをお聞かせください。 参考URL貼り付けでもかまいません。 また、上記がクリアされて、24時間運用時でAccessを使うことになったときの、注意点がありましたら それもお聞かせいただければ、大変にありがたいです。 例えば、ファイルが壊れることがあるから使うなとかw、毎日、CSVへ吐き出しておいた方がいいとか です。 よろしくお願いいたします。

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

Accessは2007からmdbに替わりaccdbという形式のデータベースファイルを使うようになった・・・・が、肥大化も最適化に関する状況は全く変わっていない。 なので止められないシステムの場合肥大化は防げないと思う。mdbよりかは多少マシになったと期待するくらい? と、ここまでが本題で以下、あなたの質問内容で何か参考になればというような駄文だが。 > ODBCではAccessくらいだと思っています これは、あなたが作るプログラムからODBCを用いてmdbファイル内のテーブルを操作するという意味だよね? それなら普通にMicrosoft SQL Server 2012 Express Editionでも使っておけば良いと思うのだが・・・・。 そもそもODBCはDBを特定せずにDB操作を行うために作られた仕様なので、SQLの方言を除けばDBを運用途中で挿げ替えても問題ない。 あるプログラムがODBCでmdb内のテーブルを操作する時、Accessの機能は一切使っていない。mdbやaccdbはテーブルもプログラムも一つのファイル内に入れるので誤解されがちだが、Accessというのはテーブルなどのデータストアのみの機能ではないし、DBを操作するフロントエンドフォームのみでもない。その両方があって初めてAccessだ。かつ、その2つの機能は独立している。つまり、今回あなたがやろうとしていると思われる、単なるデータストアとしてのみ使う事もできるし(この場合Accessはインストールされてなくても良い)、テーブルは一つもなくフォームだけ作ってDBはMicrosoft SQL Serverなど他のDBを見に行くという事もできる。 あなたが開発しようとしているシステムの開発言語が例えばMicrosoft .Net Frameworkなら、ODBCじゃなくてADO.NETを用いてどこかのDBMSに接続する方が良いのではないかな。 ODBCしか使えないというのは純粋なC言語での開発で最小限のライブラリしか使えないような状況しか思いつかない。 餅は餅屋、AccessはMicrosoft自身が「パーソナルなシステムに使うもの」と言っているし、別のDBを使う方法を模索した方が良いのではないだろうか。 開発言語や使ってる開発環境が分かれば「DBはこうして接続はこうするのがお勧め」とかそういう回答も出やすいと思いますです。

Kuronari12
質問者

お礼

ご回答ありがとうございます。 状況は変わっていないのですね。。。 他のRDBは、Microsoft SQL Server 2012 Express Editionが無難ですかね。 検討してみます。

関連するQ&A

  • AccessのデータをDBにODBC接続する方法

    Accessに溜まったデータをDBにODBC接続したいのですが、SQLiteかSQLserverにするか迷っています。私自身がDB初心者で、なんとなくこの2つが楽で安心して接続できるとWEBで見たため、この構成にしていますが、メリデメと言いますか、一言でいうとどう違うのか教えていただきたいです。メーカーが違うとか構成が違うのはざっくりとわかっています。 <やりたいこと> 会社のDB情報をCSVでエクスポートして、SQLiteなどDBにインポート。 DBからODBCを通してACCESSで出力。 ACCESSでデータを加工したら保存しDBにPushするイメージです。 WEBで調べてもどっちもいいということを言っていて、判断が付きません。 ちょっと急ぎで探しているため、回答を頂けたら幸いです。

  • MS-ACCESSをオラクルへ入れたい

    現在、ツールとしてPC上(Windows2000)でアクセスを使ってDBを使っています。 今までは単純にそのファイルをファイル共有させて数人で使っていたのですが データが増えて来ると同時に利用者が増えてきました。 これを機に社内にオラクル9がSUNの冗長化されたサーバに入っているということで そちらに移して運用できればいいなぁと思っていますが そういうことは出来るのでしょうか? DBだけSUNのオラクルで運用させて、インターフェイス部分は使い慣れたアクセスのフォームを 使い続けたいと思っています。 ODBC接続で可能だと思いますが、DBの移行は何かツールがあるのでしょうか? それとも、1から作り直さないといけないのでしょうか?

  • SQLiteによる運用について

    SQLite3によるプロジェクト管理システム(Tracとか)の運用を考えております。 下記件について知りたく投稿させていただきました。 1.SQLiteは、データが肥大化するほどパフォーマンスが低下しますか? 2.SQLiteは、データの損失が発生しやすいでしょうか? の以上です。 比較対象としてはMySQLを考えています。本用途については、下記に述べますので、本用途での運用での問題及び、MySQLを使った場合の利点についてお答いただければ幸いです。 2.に関しては、どちらも大差ないと思いますが、当方ではVMWareにより、ゲストPCを仮想ファイル上で運用しておりまして、DBファイルも仮想ファイル上の中に入ります。その運用上で注意しなければならないことがございましたらご連絡いただきたいです。 開発者はせいぜい10~15人程度ですので、複数のセッションからのアクセスについては、あまり考慮しなくてよいと考えております。

  • アクセスのファイルサイズ

    アクセスでデータベースを作成しているのですが、フォームやプロシージャーを作成しているうちに、ファイルサイズが膨れ上がり当初の100倍近くになってしましました。 データ量や写真の貼り付けなどは行っていないのに、何故ファイルサイズが肥大化してしまうのでしょうか?クリーンアップみたいなことでスマートに出来るものなのでしょうか?

  • ACCESSでODBC接続の可能性を考慮しています。

    ACCESSでODBC接続の可能性を考慮しています。 ACCESS2007とACCESS2010からPostgresのDBかMySQLのDBへ ODBC接続するシステムの作成を考えています。 その上で課題として 1.PostgresかMySQLへODBC接続は可能か? 2.DB側でlocalhost以外の接続をはじくような設定はあるか? という問題があります。 お分かりになる方はいましたら、ご教授お願いいたします。

  • PHP+ACCESSのデータベース接続について

    こんにちわ。PHP+ACCESSを使って、データベース接続を試みようとしておりますが、最初のところでつまづております。 <?php //データベースに接続する $DB = sqlite_open('db.mdb'); $SQL = "create table db (id integer ,name,time) $result = sqlite_query($DB, $SQL); ?> 上記のPHPで、ACCESSファイルを作成しましたが、作成したファイルを開くと、"データベース形式が認識できません"と表示し、データベースを閲覧することができません。 また、ACCESSから手動で作成したファイルをsqlite_openで接続しようとすると、sqlite_open(): file is encrypted or is not a database inエラーが表示接続することができません。 PHPとACCESSの相性の問題なのでしょうか。この原因がわかる方がいらっしゃいましたら、教えていただけないでしょうか。 宜しくお願い致します。 【php4.3.10 SQLite Library2.8.14 ACCESS2000】

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

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

  • accessからsqlserverへの移行について!

    accessからsqlserverへの移行について! 現在accessでシステム運用しています。 処理に時間がかかるのでDBのみsqlserverへの移行を検討しています。 時間がかかる原因は計算項目が多く計算の為に必要な定義項目と参照項目で計算項目を含めると約300項目となります。 この為、クエリーをNo.1とNo.2の2個のクエリーに分けて対処しています。 クエリーNo.2はNo.1の式の値を使用し更に式で計算しています。 クエリーで定義している計算式も条件が複雑なものもありさらに計算結果⇒計算結果⇒・・・・となっています。 この様な内容なので入力画面はレスポンスが遅く印刷は5~10分位かかるものがあります。 とりあえず印刷処理を早くしたいと思い一旦ワークテーブルに必要項目を出力する等をやって見ましたがやはり抽出に時間がかかりあまり改善しません。 データ件数は約3万件なのでデータ件数は問題ないと思っています。 accessの処理はそのままでDBをsqlserverからODBCでリンクしようと思います。 DBをsqlserverに移行することで処理速度の改善はどの程度見込めるのでしょうか。 計算項目数が多いのであまり見込めないのではと思っています。 accessからsqlserverへの移行された方でどの位改善されたのか教えて下さい。 現在の運用環境はサーバは使用せずファイル共有で4台のPCで運用しています。OSはWinXPです。 今回も専用サーバは使用せず現在のWinXPのPCにSQLServer2005無料を使用しようと思っています。 又、accessの処理で他に早くする方法がありましたら教えて下さい。 よろしくお願いします。

  • Access -> MySql

    AccessからMySqlに接続しようとしているのですが、なかなかうまくいきません。 ODBCでデータソースを作成するところまでは出来ているのですが (TestでもSuccess:connection was mode!とでています) Accessを起動し 「ファイル」->「外部データの取り込み」->「テーブルのリンク」を選択し出てきたダイアログの「ファイルの種類」でODBCデータベースを選択するのですが、「データソースの選択」ダイアログが出てきません。 何に問題があるのでしょうか? Access:Access2003 MySql:5.0.27 ODBC:Mysql Connecter/ODBC 3.51.17 DBサーバ、クライアントともにXPを使用しています。

  • AccessからCSVファイルを作成するとき。

    とあるページでAccessからCSV形式のファイルをエクスポートするときあは、ただエクスポートするだけでは並び順になっていない可能性が高いので、クエリからCSVファイルを作るほうがよいと書いてありました。 下記のやり方ではデータがうまくファイルに入らないのでしょうか? ご教授お願いいたします。 http://support.secure.ne.jp/manual/db/access.html