1

リンク サーバーを使用して Oracle データベースに接続している SQL Server で OPENQUERY を使用して、Oracle データベースから BLOB 列を選択するにはどうすればよいですか?

この構文を使用しようとすると、次のエラーが表示されます。

SELECT * FROM OPENQUERY(LINKED_SERVER_NAME , 
'Select blobColumn from TABLE') AS derivedtbl_1

エラー:

リンク サーバー "LINKED_SERVER_NAME" の OLE DB プロバイダー "MSDAORA" は、"Oracle エラーが発生しましたが、Oracle からエラー メッセージを取得できませんでした" というメッセージを返しました。リンク サーバー "LINKED_SERVER_NAME" の OLE DB プロバイダー "MSDAORA" から、"データ型がサポートされていません" というメッセージが返されました。

4

2 に答える 2

1

Oracleへの接続に使用しているOLEDBプロバイダーを変更できますか?Microsoft OLE DB Provider for Oracleは、BLOBデータ型をサポートしていません。OracleOLEDBプロバイダーはそうします。Oracleへの接続を変更してOracleプロバイダーを使用すると、機能するはずです。

于 2011-02-17T18:11:18.800 に答える
0

これは機能します:

SELECT * FROM OPENQUERY(LINKED_SERVER_NAME , 
'Select DBMS_LOB.SUBSTR(blobColumn,4000,1) from TABLE') AS derivedtbl_1

これは、blob列の最初の4000文字のみを返し、テキスト(バイナリではない)データを持つ列に対してのみ機能します。しかし、それは私にとってはうまくいきます。

于 2011-02-17T18:10:57.207 に答える