VB6でのCLOBの読み書き

解決


へなちょこ  2007-02-14 01:31:05  No: 98012

VB6SP5  Oracle9iで開発しています。
Dim strText As String
strText = oraDs.fields("テキスト") 
を実行すると型がちがうとエラーになります。

どのようにすれば読めるのでしょうか?

どうかご教示願います。


もげ  2007-02-14 02:15:16  No: 98013

Readメソッドで読めます。

詳細は、oo4oのヘルプで、
・ラージ・オブジェクト(LOB)の使用
・OraBLOBとOraCLOBオブジェクト
をご参照ください。


へなちょこ  2007-02-14 02:24:51  No: 98014

oo4o  のヘルプはどこで入手できるのでしょうか?


もげ  2007-02-14 02:32:03  No: 98015

OracleClientにあります。
開発者オプションか、カスタムで入れることができます。
ちなみに、当方では、

スタートメニュー
  →プログラム
    →Oracle
      →Application Development
        →Oracle Objects for OLE Help
にあります。


へなちょこ  2007-02-14 02:46:15  No: 98016

ありがとうございます。
見てました。
.ReadしたものをStringに変換できればいいと思うのですが
どのとうにすればいいのでしょうか?


もげ  2007-02-14 03:28:42  No: 98017

LOBをシングル・ピースで読み込む例
を見てください。
一旦Variantで受けて、String型へ入れてます。

Dim PartDesc As OraClob
Dim AmountRead As Long
Dim buffer As Variant
Dim buf As String
'Read entire CLOB value,buffer must be a Variant
AmountRead =PartDesc.Read(buffer)
'put will not allow Variant type
buf =buffer

'短い文字列なら、昔は、
'strText = oraDs.fields("テキスト").Value
'で読めた気もしたのですが、気のせいかもしれません(LONGRAWだったか)。


へなちょこ  2007-02-14 04:28:02  No: 98018

ありがとうございます。
どうにか解決しました。

.WriteはNullの状態だと書き込めないようですが
Nullの状態に書き込みたい場合はどうすればいいのでしょうか?

たびたび申し訳ありません。


へなちょこ  2007-02-14 05:38:49  No: 98019

どうにか解決できました。
ありがとうございます。


へなちょこ  2007-02-20 20:15:57  No: 98020

解決チェックわすれ


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加