我一直被困在一個動態的sql問題上。 我需要能夠將varbinary(byte [])數據保存到我的表中。Dynamic Sql轉換插入varbinary數據
下面是示例代碼只是爲了顯示我的問題:
ALTER PROCEDURE ins_photo
@schema VARCHAR(63), @name VARCHAR(50), @data VARBINARY(MAX)
AS
PRINT @data;
EXEC ('
PRINT '''[email protected]+''';
DECLARE @plswork VARBINARY(MAX) = CAST('''[email protected]+''' AS VARBINARY(MAX))
PRINT @plswork;
INSERT INTO '[email protected]+'.Tester
(name, photo)
VALUES
(
'''[email protected]+''',
@plswork
)
')
這裏是輸出:
0xFFD8FFE000104A4649460001010000
?????A
0x3F3F3F3F3F410100
(1 row(s) affected)
正如你將在轉換注意到初始二進制數據和「轉換」是不同的,因此,當檢索二進制數據顯示圖像...以及沒有揭示什麼:)
我真的很感謝幫助或甚至工作,但主要這個usp需要根據模式調用不同的表。 (因此,爲什麼我使用動態SQL)
我能保存圖像作爲爲nvarchar(max)和客戶端上使用ToBase64String()?,我wouldve認爲這是一個糟糕的解決方案,但也不太清楚
提前感謝 Marco
的工作,非常感謝你:)謝謝 – EaziLuizi 2013-05-07 10:51:07