DBMSをdBASE, DBISAMと使ってきました。
BDEはサポート終了ですし、DBISAMはVistaに正式対応としていないので今後どうしようかと考えています。
DBISAMはVistaでも動作はしますが、メーカーがVista正式対応とはうたっていない以上、
さすがに大量のユーザーへ納品するアプリケーションに使うのは避けた方がいいと判断しました。
みなさんはVistaで今後納品していくにあたってDBMSは何を考えているか教えていただけると助かります。
ネットワークでは使わずにスタンドアローンだけのファイルアクセスシステムです。
私が思いつくのはAccessくらいなんですが・・・
小生も同じ悩みを持つ立場でして、小規模のソフトならと思い、この数日間、実験してみました。
また、毎日このBBSを「質問の立場」でお世話になってますので、今回はお役に立てるよう、ご報告いたします。
データは、郵便番号をランダムに20000件のみにまとめて、さらに「0088」が含まれる郵便番号を独自ソフトで検索した結果です。
使用コンポは、DBGridと・・・
各種代表と主要コンポは以下のとおりです。
Paradox代表、TTableと、SQL用に、TQuery。
Access2000代表、TADOTableと、SQL用に、TADOQuery。
DBISAM代表、TDBISAMTable、TDBISAMQuery。
もちろん、それぞれの形式のテーブルに2万件の郵便番号を作成しています。
結果は以下のとおりでした。
DBISAMをSQL 全レコードをDBGridへ ⇒ 即秒
DBISAMをSQL 検索をDBGridへ ⇒ 3.8秒 or 2.9秒
BDE(PARADOX)をSQL 全レコードをDBGridへ ⇒ 即秒
BDE(PARADOX)をSQL 検索をDBGridへ ⇒ 9.6秒 or 6.5秒
ADO(ACCESS2000)をSQL 全レコードをDBGridへ ⇒ 即秒
ADO(ACCESS2000)をSQL 検索をDBGridへ ⇒ 1.9秒 or 1.8秒 ☆DBGridにおける、スクロールバーがこの中で一番正確な動きをする。RecordCountの数量も問題なし!
ISAM 全レコードをDBGridへ ⇒ 即秒
ISAM Filter検索をDBGridへ ⇒ 2.1秒 or 1.4秒
BDE 全レコードをDBGridへ ⇒ 即秒
BDE Filter検索をDBGridへ ⇒ 1.6秒 or 1.4秒
ADO 全レコードをDBGridへ ⇒ 即秒
ADO Filter検索をDBGridへ ⇒ 1.0秒 or 1.0秒 ★DBGridにおける、スクロールバーが挙動不審、また、検索結果の件数がRecordCountの数量が2万件のまま(62件のはずなのにRecordCountプロパティが生きてない)。
以上ですが、いかがでしょうか。
感想ですが・・・ADOは遅いという、私のイメージだったので、意外でした。
逆に、DBISAMが期待はずれとなり、心苦しく感じます(個人的に期待大だった)。
老兵のBDEは、もう、未来はありませんが、お礼を言わせてください。だって10年間お世話になりましたから・・・
「BDE、いままで、本当にアリガトウ!」
ぽんぽんさん、レスありがとうございます。
細かい集計結果をありがとうございます。
DBISAMが正式にVista対応発表してくれればほとんどシステムは完成しているので私的にはうれしいのですが、残念ながらメーカー回答はマイクロソフト社がXPの互換をVistaで保障するべきものっていう回答でした。
VB用の各サードパーティーはVista用のパッチを出したり、新しいVista対応のバージョンを出したりとしてくれてるんですけどね。
市場が小さいとやはり違うものですね。
今はSQL ServerやORACLE等の要件を調べています。
システムはスタンドアローンですし、高価なDBMSを買う必要はないと思うのでやっぱりAccessが一番有力かなと思っています。
しかしレスがひとりだけというのは、みんなVista向けにはもうDelphiをやめて別の言語に移行しているのかな、なんて思ったりします。
ジュウザさん
「BDEはサポート終了ですし」とか書かれていますが、Delphi2007でもBDEは使えると思いますが?BDEが使えなくなった製品はあるのでしょうか?
>BDEが使えなくなった製品はあるのでしょうか?
第1回 ボーランドデベロッパーキャンプ開催レポート
http://www.borland.com/jp/events/20060525_borland_developer_camp_vol1_report.html
にある
テクニカルセッション:「データベースアプリケーション構築技法」#3(PDF:383KB)
P.6の「BDEの現状」
では、
>BDEの開発およびメンテナンスは、Delphi 7 付属のBDE 5.2 にて終了。
>最新の、BDS 2006 において、BDEはローカルデータベースファイルへ
>アクセスするエンジンとして残されているが、SQL-Link は廃止されており、
>付属しておらずBDE からのDBMS への接続はサポートしていません。
>
>Oracle 8i / InterBase 6 等、旧バージョンのDBMS での対応で終了。今後の提供予定なし
>BDS 2006 に付属のBDE でもODBC 経由でのDBMS への接続は技術的に可能だが、その動作はサポート対象外
だそうです。
ジュウザさん、みなさんもきっと、悩まれてるのではないかと思われますよ。
大丈夫ですよ、きっと!
私が手がけているシステムは、C/Sというような大きさなものでなく、ファイル共有型の小規模のものです。
だから、理想はDBエンジンを別に必要としない、DBISAMのスタイルですが
今回、ジュウザさんにそのような回答するとは、残念でなりません・・・。
ずいぶん前に「DBISAMの次期は、UNICODE対応」とどこかで読みましたが、その「次期」も本当にあるのか、怪しくなってきました・・・。
ちなみに小生は、このUNICODEの件でも悩んでおりまして、PARADOXだと、お客様から文字化けの報告を受けておりました。
しかし、今回の実験でACCESS2000と、UNICODE対応コンポのTNTwareの組み合わせで解決できるともわかり、喜んでおります。
速度も問題ないようですし、お金もかからないし、心はだいぶ決まっています。
あとは、安定性。
これは、半分はプログラマー側の責任でもありますので、どうにか頑張りたいです。
それと、ADOが長く使えるよう、願います。
かなり個人的な私見ですが。
かなり以前には、OracleやMDB、Btrieveなども利用していましたが
ここ数年は殆ど BDE〜interbase〜firebird の流れで来てます。
VISTA関連は、暫く様子見の状態ですが
最近は、ローカルサイドとWEBサイドの連携が非常に多く
データベースも firebird 〜 MySQL の何れを採用するか
頭を悩ませています。
(多分、二者択一か二者連携になるかと)
「BDEはサポート終了です」の発言で気に入らなかったのは
BDEからDBMSの接続がサポート中止になっただけで、ローカルデータベース接続のためにDelphi2007よりインストール可能ですし、DatabaseDesktopなどもインストールできます。
正しい表現をお願いします。
>「BDEはサポート終了です」の発言で気に入らなかったのは
>BDEからDBMSの接続がサポート中止になっただけで、ローカルデータベース接続のためにDelphi2007よりインストール可能ですし、DatabaseDesktopなどもインストールできます。
参考までに。
Delphi2007でのQuickReportについて
https://www.petitmonte.com/bbs/answers?question_id=4600
より
>Paradox 形式のテーブルを利用する目的で、BDE を使用されているとのこ
>とですが、BDE については開発を終了させていただいました。恐れ入りま
>すが、InterBase や MSDE などへの移行をお勧めいたします。BDE は互換
>性のために、Borland Developer Studio 2006 や Delphi 2007 に付属して
>いますが、今後のバージョンアップやサポートについては、終了となりま
>す。
かずさん〜
話変わりますけど、そこまでこだわるところを見ると、メインはBDEをお使いでしょうか?
今までBDE(dBASE、Delphi)でスタンドアロン中心の開発を行ってきました。
かつては、dBASEでかなり実用に耐える100万件近い商用データ処理ソフトを作成した経験もあります。(ただし、現在ではdBASEソフトが動作しないコンピュータも多々あり)
VB等の他のデータベースは毛頭使うつもりは無く(非常に使いづらい)、ボーランドと討ち死にする覚悟でいます。
BDEサポートの終了にともない今後の展望をかんがみるに、ClientDataSet(MyBase)で過去のソースを書き換えるつもりでいます。
○一切のデータベース、ドライバが不要。配布もいたって簡単
○ボーランドのリレーショナルデータベースの根本をサポートする機能であり安心感がある。(多分無くなることはないであろう!?)
○XMLファイル(テキスト)は将来の他への移行にも簡単に対応できる
○メモリに依存する面はあるが、メモリ価格は低価格化が進み動作上の不安が少ない
○「dbGo(ADO)では、dBASE 7 ファイルをサポートしていない」等の他に依存する制約が無い(少ない)
・・・等
(この発言は、自分自身への戒めを多く含んでいます。10年に1度くらい大変な時期もあります)
Firebird Embedded Server
http://www.geocities.jp/ht_deko/ft0411.html#041102
はいかがですか?
アプリケーションはそのまま(設定ファイルの変更程度)で、
インストールするFirebirdを変更する事により
組み込み/スタンドアロン/CS
とスケーラブルに対応できます。
# Firebirdは"読込専用DB"を生成できますので
# CD-ROMから起動するデータベースソフトすら作成可能です。
私は小規模データベースアプリが多いので、Paradoxファイルを使用しています。
100程度の職場であれば、難無くこなせます。
かなりの本数を作成しました。
Kuukoさんの言われとおりです。小規模アプリで、何でもSQLサーバ、InterBase、MySQL・・・なのか理由がわかりません。大げさなんですよね。
データベース=SQLサーバ、InterBase、MySQL・・・盲目的信者が多いような
Delphi "Tiburón"
コードネーム: Tiburón
タイムフレーム: 2008年前半
テーマ: ユニコードおよびジェネリックスによるDelphiおよびVCL開発
コードネーム「Tiburón」と呼ばれるDelphiリリースは、Delphi for Win32とDelphi for .NETの双方について機能強化や機能追加を計画しています。
Tiburón では、3つのメインテーマにフォーカスすることを計画しています。
Delphi Win32 Unicode: これは、IDE、VCL、およびあらゆる種類の開発が、完全にユニコード準拠であるべきことを意味しています。Delphi言語の標準文字列はユニコード文字列になり、言い換えれば、IDE、VCLといった製品全体が、ユニコードベースになります。世界中の開発者は、ユニコード標準を使って、どんな言語向けのアプリケーションでも開発できるようになります。
(マネージドコードとネイティブの双方について)Delphi言語によるパラメータ化された型の提供: これには、パラメータ化された型の作成と利用が含まれるほか、この新しい言語機能を利用するためのRTLとVCLのアップデートがあります。
VCLのアップデートと改善: VCL for Win32は、完全にユニコード開発をサポートするように改善される予定です。さらに、Win32と.Net双方のVCLは、リボンコントロール、テーマ、スキニングをはじめとするUIの強化といったサポートが考えられており、開発者は、自身のアプリケーションのルックアンドフィールをモダンなものに変更することができるようになります。また、Win32と.Net双方のVCLは、Vista OSの新しいコントロールや機能をサポートするVista APIをより深く扱えるようにすることを計画しています。
CodegearのホームページよりDelphifor32次期版
http://dn.codegear.com/jp/article/36624
Delphi "Tiburón"
Tiburónについて現在検討中の特定の分野は以下のとおりです。
省略
高い互換性を持つTTable/TQuery コンポーネントによるSQLDataStoreをベースとしたBDEの代替機能の提供
BDE Paradoxアプリケーションとの高い互換性を備えた代替機能として利用可能
ナビゲーション可能なデータアクセス拡張によるWin32および.Net DBXClient DBX4クライアント
となっています。あくまでも検討中と記述してあります。
TTable/TQuery は無くならないと思われます。
QuickReportの記述は、日本の担当者の個人的な理解と考えたほうがよさそうですね。そう理解しないと先の記述と矛盾します。
安易な断定表現はやめましょう。
かずさん情報ありがとうございます。
Codegearになって、ようやくDelphiがUNICODE化へ!
とても嬉しいことです!
BDEに替わる「何か」も、楽しみです。
皆様のご意見のおかげで、本当に勉強になっています。
スレを立ててくれた、ジュウザさんにも大感謝です。
ところで今、kuukoさんお奨めのMyBaseと・・・
そして、DEKOさんお奨めのFireBirdを、試しています。
勉強するにあたり、読んでおくと良い本・サイトなどございますでしょうか?
どんな些細なことでも良いので、情報いただけたら、勘違いせずに頑張れるような気がします。
(思い返すと、人生色々と勘違いばかりです)
to ぽんぽんさん
[Firebird SQLリファレンス]
http://firebird.skr.jp/?Firebird%20SQL%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9
[Firebird日本ユーザ会グループ]
http://groups.yahoo.co.jp/group/Firebird-jp-general/
ですかね。私のHPにも若干ながらFirebird/IBX情報があります。
書籍なら
[Firebird—オープンソースデータベースの導入と運用の実際]
http://www.amazon.co.jp/exec/obidos/ASIN/4839908893/
がオススメです。
私もD5までBDEを使っていましたが、それ以降はIBX+Firebirdがメインです。
DEKOさんありがとうございます!
教えて頂いた本は調べますと、今絶版で古本で値段が倍になってるそうですよ・・・驚かされました。
私もせっかくなので、新ニュースを。
http://itpro.nikkeibp.co.jp/article/NEWS/20070624/275673/
上記の題は「MySQL,PostgreSQLとFirebirdの性能をユーザー会メンバーが徹底比較,判明した"意外な結果”」です。
Firebird、かなり良いではないですか!
> Firebird、かなり良いではないですか!
えぇ。しかし...Firebird(Interbase)のアーキテクトは
現在、MySQLにいらっしゃいます(^^A;
みなさん、いろいろ参考になるご意見をありがとうございます。
とりあえずAccessでいく事にしました。
スタンドアロンシステムですし、安くすむAccessにほぼ決まりました。
ただ最新のAccess2007でテストをしてみて残念なことがあったので新規で質問立てる予定です。
ぽんぽんさんの結果だとAccess2000は早いようなんですがAccess2007は・・・
「解決」しているけど!
VistaでのAccess共有が出来ない問題が上がっていますよ。
マイクロソフトの障害報告「http://support.microsoft.com/kb/935370/ja」
情報ありがとうございます!
要約すると、Vistaに乗っている、Access形式データベースを他から使うと、本家のオフィスのAccessの操作にて、不都合が起きるということでしょうか・・・。
見逃せない障害だと思います。
良くも悪くも、マイクロソフトの情報です。
早期解決にも期待できますし、すでに利用されている方への私たちから、対応にも迷わずに済みます。
この情報を知るか知らないで、大分変わる人もいると思います。
本当にありがとうございます!
ツイート | ![]() |