- ベストアンサー
Delphiへの乗り換えについて
- WinXP(Home版)&VB.NET2005ユーザが、DBアプリ(ネイティブ)の開発に限界を感じて、Delphiに乗り換えることを考えています。
- Delphi2007を使用するためにはVista対応が必要であり、どのエディションが適しているかわかりません。
- Delphi2006にDBISAMを組み込んでの開発も良さそうですが、実際に使用している人がいるかどうか不明です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Del7+DBISAMでの開発経験がある者です。 WindowsアプリであればDel7もDel2006も対して変わらないので参考になればと思います。 まずVistaに関しては私に知識が少ないため助言できません。 >WinXP(Home版)&VB.NET2005ユーザですが、DBアプリ(ネイティブ)の開発に限界を感じ、Delphiに乗り換えようと考えています。 との事ですがどこに限界を感じたのでしょうか? .NETを利用していると言う事はDBはSQLServer系と考えて良いでしょうか。 SQLServerだとしたらIDE上からも利用しやすく非常に親和性は高いと思うのですが。。。 ファイルベースでまだまだマイナーなDBISAMに比較すればドキュメントも豊富で開発しやすく、C/Sにした時のトランザクションなどもしっかりしているますし、ストアドなども組めるためパフォーマンスでも優位にあると思います。(鉄飛テクノロジーさんががんばってはくれていますが) また、VB.NETであればクラスの概念もしっかりとしてきたのでDelphi言語(Object Pascal)の優位性はそれほどないように感じます。 ただDBISAMは開発ライセンスのみで配布はフリーで、かつ配布時はインストール不要(ファイルコピーのみで利用可能)な点が非常に魅力です。(私が携わった開発時点の話です。現在どうなっているかは確認していません。) スタンドアロンまたは2~3台程度まででそれ程多くのトランザクションが発生しない環境であれば軽量、コンパクトでお勧めのDBです。 (一応DBサーバもついています) ただ、複雑な処理が入ってきた場合にパフォーマンスのチューニングに苦労しました。メモリテーブルという概念があり、これを用いればある程度高速化は達成する事が出来るのですがどうしてもI/Oが発生するため、ストアドには負けるかな、という印象です。 Delphi使いの私としては「Delphiはいいよ!」と薦めたいところですが規模の大きなシステムを開発するのでしたらDBISAMのお試し版を使ってみて狙ったパフォーマンスが出るか確認してからの方が安全だと思います。 スタンドアロン環境であればDelphi+DBISAMは非常にお勧めです。 DBISAMに固執せずとも他の様々なDBを利用することは可能ですし。 また、OSですが確かにBorlandはXP ProとうたっていますがこれはASPの開発する事を前提にしているのではないでしょうか。(HomeではIISが入らない)多分、ですがWin32の開発を行うだけならXP Homeでも大丈夫だと思います。確証はないのでDelphiに移行する前にボーランドのサイトからトライアル版をダウンロードしてきて試してみて下さい。
その他の回答 (2)
- steerboard
- ベストアンサー率65% (13/20)
>>また、ついでに質問してしまうのですが、DBISAMについて載っている書籍って・・・やっぱりありませんよね。 Delphi自体ないですね、雑誌とかも。 DBISAMについては日本語の書籍は皆無です。ヘルプも全て英語ですw 代理店である鉄○テクノロジーさんのHPで簡単に解説はされていますがメモリテーブルの使い方とかは英語のどこかのHPのサンプルをあさっていてやっと使い方が分かった感じです。(英語のHPには結構情報がありそうなのですが・・・) Delphiの書籍は意外とありますよ。(雑誌は聞いた事がありませんが) ネットで探すと結構出てくると思います。ザクッと調べてみたら結構ヒットしました。(バージョンが古かったりしますが)
お礼
>ヘルプも全て英語です あひょー。やっぱりという感じです。 英語でもソースさえあればなんとかなると思うので頑張ります。 Delphiマガジンが昔はあったようですね、残念なことにもう刊行していないようですが。 本はとりあえず1冊、リファレンスをネットで注文してみました。 いろいろと丁寧にありがとうございました。 非常に助かりました。
- steerboard
- ベストアンサー率65% (13/20)
認識が間違っているかもしれないのでその時はどなたか突っ込みをおねがいします。 >>(文面からなんとなくNET経由のものが.NETというように見受けられまして、またこんがらがってます) 表現が下手で申し訳ない。.NETという言葉はVB.NETとかC#.NETあたりを指して書きました。 Delphi2006なら.NET Frameworkは必須ですし、.NET Frameworkも利用した開発が一般的でしょう。 ただ、.NET Frameworkを使わずに開発する事もできます。これをWin32と言っていました。 こうすれば、稼動PCの.NET Frameworkのインストールの有無やバージョンに左右されず、インストーラすら作らずにEXEをコピーするだけで動作します。 例えばActiveXをEXEに組み込んでインストールの必要がなくなるような事も出来ます。 >>物理的に約10G近くに達し、レスポンスが遅くなってしまって悩んでいました。 10GBのmdbは初めて聞きました。 昔はmdbのサイズに制限があるとか色々あってそこまで巨大になる事はありませんでしたから。 DBISAMならテーブル単位でファイルが生成されるので管理は楽になるかもしれませんね。
お礼
あ、なるほど、そういうことでしたか。 >10GBのmdb これもちょっと工夫していまして、テーブルごとに物理的にmdbを分け、ひとつのmdbにリンクさせて読み込む、というような事をやっています。ひとつにするとトンでもないことになりそうで。 >.NET Frameworkを使わずに開発する事もできます。これをWin32と言っていました まだ使っていないので分からないのですが、Win32として作ろうとした場合、.NET Frameworkを利用した場合と比べてどのくらいの差が出るのか気になるところです。 EXEコピーのみで済む、インストール有無やバージョンチェックが不要、というのもトテモ魅力的です。 まずはWin32アプリの方向でやってみます。 丁寧にありがとうございます。 また、ついでに質問してしまうのですが、DBISAMについて載っている書籍って・・・やっぱりありませんよね。 Delphi自体ないですね、雑誌とかも。
お礼
親切丁寧な回答ありがとうございます。非常に参考になります。 >どこに限界を感じたのでしょうか? 実は配布を前提とし、他PCにDBのインストール作業が発生しない形式で作業をしていまして、DBはmdbなのです。 物理的に約10G近くに達し、レスポンスが遅くなってしまって悩んでいました。 Where句の並びに注意しながら必要最小限のINDEXを張りまくったりVBをマルチスレッド化してmdbに同時アクセスしたりと高速化の工夫をしていましたが、似たようなソフトの処理速度に及ばず、そのソフトを調べてみたらどうもDelphi&DBISAMのようなのです。 配布を前提としなければMySQLなりSQLServerなりと利用できるのですがWinアプリとして考えているのでmdbで作業していました。ホント、おっしゃられるようにDBISAMの再配布自由というのがとてもとても魅力です。 後ちょっと逸れますが、.NETという言葉は私は.NET FrameWorkに含まれているライブラリを使うモノという感じで理解していて、Winアプリでも.NETって言うのかなー、と思っているのですが間違っているのかなー。(文面からなんとなくNET経由のものが.NETというように見受けられまして、またこんがらがってます) また、OSですが、先ほど先走って、HomeのPCを下取りにProのPCを注文してしまったトコです。orz PCが届いたらTurboDelphiの無償版を入れて試しにBDEを使ってみて、有償版を購入してDBISAMを検討しようと今のところ考えています。