2009-07-21 17 views
4

私は、「古い学校」のVB6データベース開発者で、.NETとその機能、特にADO.NETについて教えていた友人がいます。私たちの会話でなぜADOからADO.NETに切り替えるのですか?

、彼らはむしろ、ADO.NETへの移行よりも、ADOに固執する理由次の理由育っ:

  • をデータセットは、(電源に障害が発生した場合はどうすれば?)が切断され
  • 同じコードの量はまだDatasetBindingSourceTableAdapter
  • 新しいオプションは、その変更を全て、そのコマンドがラでどのように、同じコードがデータベースにアクセスするプログラムで書かれている
  • 紛らわしいようで書き込む必要がありid out

私は、ADO.NETがWindowsフォームアプリケーションに関してデータアクセスに関してADOよりも優れている理由を探しています。 ADO.NETは、ADOが提供しないものを何にしますか?それはADOよりも何が良いのでしょうか?

NB:私は、LINQを伴わない例をしたいと思います。

+0

@gortok - 編集し、それが簡潔に行うためのおかげで... –

+0

は、電力は、引数はかなり弱い失敗しました。 ADO.NETかどうか、サーバー側のコンポーネントが応答を停止した場合、そのアプリケーションはどこかでクラッシュするでしょう。 – JohnFx

+0

私は停電のために何を意味したのですか?ホストマシンで電源が落ち、データがまだデータセットに残っているとしたらどうなりますか?それを自動コミットするメカニズムはありませんか? –

答えて

10

一方、そうでない場合壊れた、それを修正しないでください。しかし、他の - VB6?本当に? ADO対ADO.NETのようなサウンドはここに小さなジャガイモです...

私はこの問題がVB vs. VB.NETとコードベース、スキルセット、その他の非技術的考慮事項ここに遊びに来てください。

+0

私はここであなたのポイントが好きだった。あなたは良い理解のために良い読み物を私に指摘することはできますか? –

+1

ああ、これは巨大です。なぜCOBOLプログラムはまだありますか?会社はそれを書き換えることを正当化できないので、元の開発者は長く消えているなど、書き換え、マイグレーションなどで多くのヒットが出るはずです。 – n8wrl

+1

または、stackoverflowの質問タグ付きvb6-migration 、書き直し、移行などこれはhttp://stackoverflow.com/questions/tagged?tagnames=vb6-migration&sort=votes&pagesize=10 – MarkJ

2

単純な答え:

は彼らが(エンティティまたはいっそのLINQ)SQLにLINQを見ている...彼らを説得していない

+2

またはそれ以上の場合、NHibernate。 –

+0

おそらくMSはLinqをVB6に移植します – n8wrl

+0

私の推奨事項はVB + ADOを打ち負かすと思います; – Janie

6

ADOはサポートされていないCOMベースのテクノロジです。 VB 6.0は、2008年3月現在、サポート終了していないテクノロジの終わりです。DAO、RDO、ADOは、過去10年近くのすべてのテクノロジです。

ADO.NETは、データアクセスのための最新のツールセットです。特に、LINQ to SQLとEntity Frameworkは新しい高さへのデータアクセスを行います。

+1

実際には、Windows 7および2008サーバーではVB6ランタイム*は引き続きサポートされています。 http://msdn.microsoft.com/en-us/vbrun/ms788708.aspx – MarkJ

+6

ARRRRGH、このfu ** ing thing dieee !!!!! 111 – Janie

+0

linqは.net 3.5でリリースされたので、ado.net wasnそれまでのところどこですか? –

2

私の仕事でADO.NETに切り替えることができる最大の問題の1つは、ADO(VB6フレーバー)がすべてCOMであり、ADO.NETでパフォーマンスが向上したということでした。

5

従来のVB6アプリケーションでADOを使用しても問題はありません。これらのアプリケーションが正しく機能している場合は、変更する必要はありません。

.NETでプログラミングしている人はあまり試してみるとそのようなハッキングジョブのように感じるので、ADOを使用しようとすると嫌になると思います。ただそれらをさせる。

+0

あなたは私が聞きたいものに答える、VBとVB.NETの両方でADO/ADO.NETを使用するソリューションを比較するシナリオを教えてください。 –

+1

パフォーマンス以外の違いはありません。両方とも、SQLクエリを使用してSQLデータベースからデータを返すことができます。機能的には同じものです。 http://msdn.microsoft.com/en-us/library/904fck4k(VS.71).aspx –

0

私はレコードがまだ接続されている場合、私は推測していると、電源がサーバー上に出て行く、ユーザーはすぐにプロンプ​​トが表示さになるだろう...

+0

それのファットチャンス。突然動作を停止するVBアプリケーションがいくつあるか知っていますか? MSの視点から見ると、ユーザーがXP上でレガシーなVB6アプリケーションを正常に実行していて、Windowsをアップグレードすると壊れてしまいます。 – JohnFx

+0

私は、Windows 7の後に出荷することを望んでいないと確信していますが、VB.NETにVB6アプリケーションを提供するための適切な移行ルートを提供していないため、出荷しなければならない可能性があります。 – MarkJ

+0

本当に、あなたはいつ進むのですか? VB6のMSの終焉は2008年3月でした。VB6の最終リリースは1998年です.Windows 7は今後3〜4年の間に発売される予定です。 Windows 8は、今後3〜4年の間にいつかシーンに入ります。 Windows 8の導入には1年ほどかかります。だから、15年から16年の間に人々が移動していない場合、それは価値があり、移植されなければならないアプリケーションか、単純に機能しないアプリケーションになるでしょう。どのような場合でもMSはVB6をサポートする必要はありません。それは、MSがリリースされてから15年後のWindows 98をサポートしているようなものです。それは単なるナッツです。 –

0

をVB6ランタイムは、Windows 7の後に出荷しないという噂を聞きました彼らのアプリでは保存されないデータを入力し続ける前に?

メモリのガベージコレクションはどうですか?

アップデートを配布する方が簡単です。ネット。

VB6でwinform appsのコードが大量に変更されているのはなぜですか? VB.NETを使用して新しいプロジェクトを開始した場合、テーブルアダプターに複数のテーブルを含めるなどの利点があります(これを活用したとは言えません)。

0

自分自身がADO.NETを好むが、残念ながら、従来のADO over ADO.NETの利点の1つは、おそらくより有用なことである。

当社の顧客は、それが に困難なので、それが必要と広範 初期の[ADO.NET]を使用しました。でも で最も単純なシナリオは、ユーザーが 注意... いくつかのタイプの間の複雑な相互作用 と依存関係を理解することが期待されているこれらの の問題の多くは、.NET Framework 2.0の で対処していること。

.NETフレームワークの建築家によって書かれ

.NET Framework Design Guidelines第2版のページで25

関連する問題