現在VB6.0でoo4oでOracleデータベースへアクセスしているアプリケーションを、odp.netを利用してのアクセスへの変更作業を行っています。
完全に作り直してしまえれば良いのですが、いかんせん対象となるプログラム数が多く、データベースアクセス部分の変更だけで何とかならないかと試しています。
具体的にはC#で製造したoo4oとまったく同じ名前のメソッドやプロパティを持ったdllをRegasm.exeを使ってアセンブリ登録を行い、VB6.0側の参照を変更して対応しています。
ここからが本題なのですが、oo4oのOraBLOB(OraCLOB)の再現に行き詰ってしまい相談させていただきます。
VB6.0側では以下のように利用しているためバイトの配列型なのかなと予測はしているのですが、それをクラス化して制御する方法が思いつきません。
VB
1Dim OraSession As OraSession 2Dim OraDatabase As OraDatabase 3Dim OraDynaset As OraDynaset 4Dim PartImage as OraBlob 5Dim buffer As Variant 6 7Set OraSession = CreateObject("OracleInProcServer.XOraSession") 8Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 9set OraDynaset = OraDatabase.CreateDynaset ("select * from part",0&) 10set PartImage = OraDynaset.Fields("part_image").Value 11amount_read = PartImage.Read(buffer, 10)
また、ためしにIList<>
を継承したクラスを作ってみたりもしたのですが、アセンブリ登録の際に「ジェネリック コードを com にエクスポートすることはできません。」とエラーがでてしまいます。
以上、長々と申し訳ありませんが、どなたか知恵をお貸し願えますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。