[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/01/31(Wed) 15:55
投稿者名:ゆきゆき
Eメール:
URL :
タイトル:
BLOB型に入っている文字データをString型に格納する
こんにちは。ゆきゆきと申します。

SQL*PLUSなどでは正常に取得できるのですが、
VB6.0でデータを取得してオブジェクトから取得しようとすると
エラーになってしまいます。

''取得用SQL
SELECT
UTL_RAW.CAST_TO_VARCHAR2(CONTENT) AS CONTENT
FROM
HISTORY_TABLE
WHERE
TO_CHAR(PROC_DATE,'YYYY/MM/DD') >=
TO_CHAR(SYSDATE , 'YYYY/MM/DD')

VB側の取得処理
Dim strWork String '取得データ格納用変数
dim objUser Object '取得データ格納用Object
==DbCreateDynaset等省略==
strWork = objUser("CONTENT")  ''BLOBデータ取得

とやると
エラー13:型が一致しません。
と出ます。

SQL*PLUS等では正常にデータが取得できるのでSQL自体が
間違っているとは思えないのですが…。
BLOBに格納されている文字列をを取得するときは
なにか特別なことしないとだめなのでしょうか?

※CONTENT列には大量データを格納する予定(といっても1KBほどだとは思いますが、改行コードなども格納)なので型は変えたくありません。
よろしくおねがいします。

投稿時間:2007/02/01(Thu) 16:08
投稿者名:K.J.K.
Eメール:
URL :
タイトル:
Re: BLOB型に入っている文字データをString型に格納する
TypeName(objUser("CONTENT"))
はどんな値を返すのでしょうか?

投稿時間:2007/02/01(Thu) 20:52
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: BLOB型に入っている文字データをString型に格納する
> BLOBに格納されている文字列をを取得するときは
> なにか特別なことしないとだめなのでしょうか?
OraBlob オブジェクトの Read / Write メソッドで読み書きします。
(または、CopyFromFile / CopyFile メソッドとか)


> (といっても1KBほどだとは思いますが、改行コードなども格納)なので
1KB 程度なら、VARCHAR2 / NVARCHAR2 でも大丈夫では。

投稿時間:2007/02/07(Wed) 18:45
投稿者名:ゆきゆき
Eメール:
URL :
タイトル:
Re^2: BLOB型に入っている文字データをString型に格納する
K.J.K.さん
魔界の仮面弁士さん

ご返答遅くなりましたがおかげさまでできました!
OraBlobのReadも使ってみたのですが、
どうやらカッコつきのもので設定しないと取得できないなど
いろいろ不明点があってがんばりました。(かんばる?)

また不明点があればよろしくお願いします。