我正在使用Microsoft Sql Server 2008.我使用視圖(dbo.building_piclink
)獲取照片名稱(@imgName
)並將照片插入文件中的表中。我還需要採取此照片的名稱,並將其添加到一個名爲att_name
列,但我不能找出語法上的INSERT語句添加進去。將變量插入到SQL Server中
DECLARE @imgString varchar(800)
DECLARE @insertString varchar(3000)
DECLARE @imgNumber int
Declare @imgName varchar(100)
SET @imgNumber = 1
WHILE @imgNumber <> 10
BEGIN
SELECT @imgName = Lower(items) FROM dbo.building_piclink
SET @imgString = 'C:\Documents and Settings\Administrator\Desktop\photos\' + @imgName
SET @insertString = 'INSERT INTO dbo._building__ATTACH (DATA)
SELECT * FROM OPENROWSET(BULK N''' + @imgString + ''', SINGLE_BLOB) as tempImg'
Print @insertString
SET @imgNumber = @imgNumber + 1
EXEC(@insertString)
END
GO
我已經試過
SET @insertString = 'INSERT INTO dbo._building__ATTACH (DATA, ATTNAME)
SELECT * FROM OPENROWSET(BULK N''' + @imgString + ''', SINGLE_BLOB) as tempImg,' + @imgName
但我得到這樣的錯誤:
消息208,級別16,狀態1,行1無效的對象名稱 'b26382_3_775682.jpg'
我曾嘗試只是在做對att_name
插入:
SET @insertString = 'INSERT INTO dbo._buildingpoint__ATTACH (ATT_NAME)' + @imgName
沒有運氣。我在語法中缺少一些東西。
謝謝!
我建議稍微簡化以幫助隔離問題。如果你單獨運行SELECT * FROM OPENROWSET ...查詢是否工作? – 2011-12-14 20:24:40