1

Oracle 列から BLOB データを選択するために oleDbConnection を使用していますが、すべてのアプリケーションがこのタイプの接続を使用しているため、このタイプの接続に固執する必要があります。

次のコードを使用した後、エラーが発生しました: unspecified error.

Dim pSelectCommand As OleDbCommand = New OleDbCommand() 
Dim commandTextTemplate As String = "SELECT PICTURE FROM ALBUMS WHERE CODE= 4"
pSelectCommand.CommandText = commandTextTemplate
pSelectCommand.Connection = g_pOleDbConnection 
 
Dim fs As FileStream 
 
' Open the connection and read data into the DataReader.
If g_pOleDbConnection.State = ConnectionState.Closed Then g_pOleDbConnection.Open()
 
Dim myReader As OleDbDataReader = pSelectCommand.ExecuteReader() 'Error is on this line

Do While (myReader.Read())
Dim byteArray As Byte() = (myReader(g_pfldAPicture))
fs = New FileStream("Album.bmp", FileMode.CreateNew, FileAccess.Write)
fs.Write(byteArray, 0, byteArray.Length)
Loop

これを修正するにはどうすればよいですか?

4

1 に答える 1

0

これは、eggheadcafe と CodeProject での質問に対する同じ回答です。ref:

http://www.eggheadcafe.com/community/vb/14/10442149/how-to-retrieve-blob-data-from-oracle-client-using-oledb-driver-in-vb.aspx
http://www .codeproject.com/Questions/368813/How-to-retrieve-BLOB-data-from-Oracle-Client-using

Oracle Blob は OleDb ではサポートされていません。http://support.microsoft.com/kb/244661 代わりに ADO.net を使用する必要があります。

編集:こんにちは

私はあなたを理解しました、私はそれをうまく言おうとしていました:

CLOB、BLOB、BFILE、NCHAR、NCLOB、NVARCHAR2 などの Oracle 8.x 固有のデータ型はサポートされていません。

参照: http://support.microsoft.com/kb/244661

この BLOB 読み取り操作には、 Oracle Provider for OLE DBまたはOracle Data Provider for .NET (ODP.NET)を使用する必要があります。

于 2012-04-19T06:00:40.820 に答える