[OSのVer]:WindowsXP [VBのVer]:VB6,VB.NET 初めまして。VB6で作られたプログラムをVB.NETへアップグレードしました。ただ、RDO接続を用いてSQL Serverとデータのやり取りをしていたプログラムで、VB.NETにアップグレードしてからエラーが起こるようになりました。調べた結果、VB6をインストールしていない環境だとエラーが起こるそうなんですが、VB6をインストールする以外に解決法ってあるんですかね?それとも、すなおにADO.NET接続に変えるべきでしょうか?みなさんの意見をお聞かせ下さい。
お世話になります。> VB6をインストールしていない環境だとエラーが起こるそうなんですがVB6 ランタイムのことでしょうかね。> それとも、すなおにADO.NET接続に変えるべきでしょうか?私だったらそうするかなぁ。今のままでも動くのでよければ、多分ランタイムを配布すればいいんでしょうけど、後で修正が加わったりした時に、開発者にとって面倒が増えそうな気がします。
[OSのVer]:Windows [VBのVer]:VB.NET なおこさん返答ありがとうございます。 > VB6 ランタイムのことでしょうかね。VB6ランタイムはネット上に落ちている物でいいんでしょうか?> 私だったらそうするかなぁ。> 今のままでも動くのでよければ、多分ランタイムを配布すればいいんでしょうけど、> 後で修正が加わったりした時に、開発者にとって面倒が増えそうな気がします。やっぱりそうですか。なるべく手間を省きたいってのが本音ですが、これしか方法がないならがんばります。
> 調べた結果、VB6をインストールしていない環境だとエラーが起こるそうなんですが、VB6をインス> トールする以外に解決法ってあるんですかね?単に VB6(あるいはVB5) というだけでなく、そのエディションも重要です。RDO 2.0 を使った開発には、VB5/VB6の「Enterprise Edition」が要求されますので。> それとも、すなおにADO.NET接続に変えるべきでしょうか?はい。System.Data.Odbc 等の「ADO.NET」に移行する事をおすすめします。それが無理なら、せめて「ADO」に。.NET には .NET の流儀がありますので、それにあわせた方が楽になれます。無理に過去のコードを引きずろうとすると、かえって処理が煩雑になってしまう事も少なくありませんし。> みなさんの意見をお聞かせ下さい。ADO.NET を薦めてはみたものの、実際には、元のコードを単純にコンバートする事はできません。ADO.NET と RDO では、データの処理手順がまったく異なりますし、RDO では出来ていた事が、ADO.NET ではサポートされていないこともあります。たとえば、RDO 2.0 お得意の「非同期実行」に関しては、ADO.NET 1.0 ではサポートされていません。(ただし、ADO.NET 2.0 は、非同期をサポートしています)hhttp://msdn.microsoft.com/library/ja/jpdnvs05/htm/ADO2.0/async2.aspですから、RDO のコードを ADO.NET に置き換えるというのではなく、双方の機能や動作を理解したうえで、新たに ADO.NET の流儀にあわせて組みなおす…といった考え方が必要かも。
[OSのVer]:Windows [VBのVer]:VB.NET > > 調べた結果、VB6をインストールしていない環境だとエラーが起こるそうなんですが、VB6をインス> > トールする以外に解決法ってあるんですかね?> 単に VB6(あるいはVB5) というだけでなく、そのエディションも重要です。> RDO 2.0 を使った開発には、VB5/VB6の「Enterprise Edition」が要求されますので。なるほど、エディションにも気をつけます。 > > それとも、すなおにADO.NET接続に変えるべきでしょうか?> はい。System.Data.Odbc 等の「ADO.NET」に移行する事をおすすめします。> それが無理なら、せめて「ADO」に。> > .NET には .NET の流儀がありますので、それにあわせた方が楽になれます。無理に過去のコードを> 引きずろうとすると、かえって処理が煩雑になってしまう事も少なくありませんし。やはり、ADO.NETに移行するのが一番良いやり方みたいですね。> > みなさんの意見をお聞かせ下さい。> ADO.NET を薦めてはみたものの、実際には、元のコードを単純にコンバートする事はできません。> > ADO.NET と RDO では、データの処理手順がまったく異なりますし、RDO では出来ていた事が、> ADO.NET ではサポートされていないこともあります。> > たとえば、RDO 2.0 お得意の「非同期実行」に関しては、ADO.NET 1.0 では> サポートされていません。(ただし、ADO.NET 2.0 は、非同期をサポートしています)> hhttp://msdn.microsoft.com/library/ja/jpdnvs05/htm/ADO2.0/async2.asp> > ですから、RDO のコードを ADO.NET に置き換えるというのではなく、双方の機能や動作を> 理解したうえで、新たに ADO.NET の流儀にあわせて組みなおす…といった考え方が必要かも。わかりました。もう少しADO.NETの事を調べて、RDOからADO.NETへ移行して見ようと思います。なおこ(・∀・)さん、魔界の仮面弁士さん アドバイスありがとうございました。