- ベストアンサー
accessの次のデータベース
質問させていただきます。 今現在accessでデータベースを構築し、20万から30万件のデータを6名程度で入力しています。当たり前ですがレスポンスは落ちています。 ファイルが破壊してしまうのと、入力した後オペレータが検索して使用するので、レスポンスが遅いと業務に支障が出てしまいます。 accessは複数での使用に適していないことや、データ量のこともあり他のデータベースに移ろうと考えています。 SQLのexpressや、PHP+MYSQLなどを考えているのですが、私のスキル的にできるかぎり簡単にできる方法を探しています。 accessの危険をとりあえず回避したのち、きちんとしたデータベースの勉強をして強化できればと思っています。 MSDEを使用し、データテーブルのみをサーバーに移し、accessをフロントエンドで使用する方法を聞いたのですが、この方法だとクエリをクライアント側で実行するのでレスポンス的にはあまり変わらないような気がします。 何かいい方法があればご教授お願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1です >メインPC上でACCESSからSQLにデータは入れれたのですが。。。 >今そこで止まってます。。 別にSQLServerをインストールしたPCからでも他のPCからでも扱いは変わりません。接続先がlocalhost\SQLXPRESSでなく(接続先コンピュータ)\SQLEXPRESSになるだけです。SQLServerをインストールしたPCで適切なセキュリティ構成(リモート接続の許可とかファイアウォールの例外設定とか)は必要ですが・・。
その他の回答 (3)
>MSDEを使用し、データテーブルのみをサーバーに移し、 >accessをフロントエンドで使用する方法を聞いたのですが、 >この方法だとクエリをクライアント側で実行するので >レスポンス的にはあまり変わらないような気がします。 私の経験では、大体50倍速になります。 >「Access 2000から、『Microsoft Accessプロジェクト』形式による保守が可能となりました。 >Accessプロジェクトを使うと Access2000 と SQL Server7.0 との親和性をより向上させ、 >Accessデータベースを作る感覚で C/Sシステムの構築ができます。 >・・・Acccessプロジェクトは、C/Sシステム構築の新たな開発環境として、 >大きな進化を遂げたのは確かです。 (インフォネット 本田剛氏) さて、SQL Server+Access.adp、Access.mdb でもライブラリ関数は全て同じものを使っています。 両者でプログラミング手法を変えるなんてことはしていません。 SQL文のワイルドカードを*ではなく%を使う位が差異です。
- sh-
- ベストアンサー率29% (13/44)
こちらが参考になると思われます。
- shimix
- ベストアンサー率54% (865/1590)
Accessとの親和性から言ってSQLServer(Express Edition)でしょう。「MSDEを使用し」という、そのMSDEの現行バージョンになります。新しく覚えることが「最少」で済むと思います。 Accessをフロントエンドにしたときにクエリーの速度が心配ならパススルークエリにすればいいと思います。まぁ20~30万件なら適切なインデックスさえ作っていれば「そのまま」でもレスポンスは改善されそうに思えますが・・。
補足
ご返信有難うございます。 >まぁ20~30万件なら適切なインデックスさえ作っていれば「そのまま」でもレスポンスは改善されそうに思えますが・・。 一度テストしてみてレスポンスが悪ければ考える、でもよさそうですね。 すごく初歩的な質問させていただきます。(もとからそうですが) メインPCのSQLにデータテーブルを置いて、他のPCでACCESSを使って見に行く(というかデータを放り投げる?)ってことがまだいまいち理解できません。メインPC上でACCESSからSQLにデータは入れれたのですが。。。 今そこで止まってます。。 よろしければ具体的にやり方や概念が分かる参考サイトでも結構ですので教えてもらえませんでしょうか。