我一直被困在一个动态的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