tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB.NETでのRDO接続について
記事No3648
投稿日: 2006/05/10(Wed) 17:48
投稿者さくら
[OSのVer]:WindowsXP    [VBのVer]:VB6,VB.NET  

初めまして。

VB6で作られたプログラムをVB.NETへアップグレードしました。
ただ、RDO接続を用いてSQL Serverとデータのやり取りをしていたプログラムで、VB.NETにアップグ
レードしてからエラーが起こるようになりました。

調べた結果、VB6をインストールしていない環境だとエラーが起こるそうなんですが、VB6をインス
トールする以外に解決法ってあるんですかね?

それとも、すなおにADO.NET接続に変えるべきでしょうか?

みなさんの意見をお聞かせ下さい。

[ツリー表示へ]
タイトルRe: VB.NETでのRDO接続について
記事No3650
投稿日: 2006/05/10(Wed) 18:40
投稿者なおこ(・∀・)
参照先http://naoko.wankuma.com/
お世話になります。

> VB6をインストールしていない環境だとエラーが起こるそうなんですが
VB6 ランタイムのことでしょうかね。

> それとも、すなおにADO.NET接続に変えるべきでしょうか?
私だったらそうするかなぁ。
今のままでも動くのでよければ、多分ランタイムを配布すればいいんでしょうけど、
後で修正が加わったりした時に、開発者にとって面倒が増えそうな気がします。

[ツリー表示へ]
タイトルRe^2: VB.NETでのRDO接続について
記事No3651
投稿日: 2006/05/10(Wed) 18:51
投稿者さくら
[OSのVer]:Windows    [VBのVer]:VB.NET 
なおこさん
返答ありがとうございます。 

> VB6 ランタイムのことでしょうかね。
VB6ランタイムはネット上に落ちている物でいいんでしょうか?

> 私だったらそうするかなぁ。
> 今のままでも動くのでよければ、多分ランタイムを配布すればいいんでしょうけど、
> 後で修正が加わったりした時に、開発者にとって面倒が増えそうな気がします。
やっぱりそうですか。
なるべく手間を省きたいってのが本音ですが、これしか方法がないならがんばります。

[ツリー表示へ]
タイトルRe: VB.NETでのRDO接続について
記事No3652
投稿日: 2006/05/10(Wed) 19:02
投稿者魔界の仮面弁士
> 調べた結果、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 の流儀にあわせて組みなおす…といった考え方が必要かも。

[ツリー表示へ]
タイトルRe^2: VB.NETでのRDO接続について
記事No3653
投稿日: 2006/05/11(Thu) 09:18
投稿者さくら
[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へ移行して見ようと思います。

なおこ(・∀・)さん、魔界の仮面弁士さん アドバイスありがとうございました。

[ツリー表示へ]