8

TransactSQLを使用して.JPGファイルをimageタイプのSQLServer2000データベースフィールドに挿入する方法を理解しようとしています。ありがとう。

4

3 に答える 3

9

OPENROWSET を使用します。

INSERT MyTable (ImageColumnName) 
SELECT BulkColumn FROM OPENROWSET (BULK 'c:\myjpeg.jpg', SINGLE_BLOB) AS X

EDITEDおっと、あなたは 2000 を使用しています。以前のソリューションはサポートされていません。WRITETEXT を使用する必要があります。

CREATE TABLE MyTable 
(
    ID INT PRIMARY KEY IDENTITY (1,1), 
    ImageColumnName IMAGE NULL
)
GO

-- must insert a dummy value into the image column for TEXTPTR 
-- to work in next bit
DECLARE @RowId INT
INSERT MyTable (ImageColumnName) VALUES (0xFFFFFFFF)
SELECT @RowId = SCOPE_IDENTITY()

-- get a pointer value to the row+column you want to 
-- write the image to
DECLARE @Pointer_Value varbinary(16)
SELECT @Pointer_Value = TEXTPTR(ImageColumnName)
FROM MyTable
WHERE Id = @RowId

-- write the image to the row+column pointer
WRITETEXT MyTable.ImageColumnName @Pointer_Value 'c:\myjpeg.jpg'
于 2009-07-31T19:41:28.157 に答える
2

textcopy.exe というツールがあります。MSSQL\Binn の下にあるか、SQL Server 2000 SP4 で入手できます。

Alexander Chigrik は、SQL クエリで使用するための優れたストアド プロシージャを作成しました。

http://www.mssqlcity.com/Articles/KnowHow/Textcopy.htm

于 2011-05-31T09:23:29.270 に答える
0

このチュートリアルにあるストアド プロシージャは、私にとってはうまくいきました。

text、ntext、および image に関する簡単なチュートリアル

于 2011-11-08T22:40:27.680 に答える