我有一个包含一个表中的SQL Server 2000的image
列。
如何通过指定文件的路径文件插入该列的二进制数据?
CREATE TABLE Files
(
FileId int,
FileData image
)
我有一个包含一个表中的SQL Server 2000的image
列。
如何通过指定文件的路径文件插入该列的二进制数据?
CREATE TABLE Files
(
FileId int,
FileData image
)
如果你的意思是使用文字,你只需要创建一个二进制字符串:
insert into Files (FileId, FileData) values (1, 0x010203040506)
而你将有对的FileData领域的一个六字节值的记录。
你表明你只想指定文件名,你不能与SQL Server 2000(或我所知道的任何其他版本)做评论。
您将需要一个CLR存储过程来做到这一点在SQL Server 2005/2008或扩展存储过程(但我会避免不惜一切代价,除非你有),这需要的文件名,然后插入数据(或返回字节串,但都不可能很长)。
在问候只能够得到一个SP /查询数据时,我会说,答案是肯定的,因为如果你给SQL Server从文件系统读取文件的能力的问题,你什么时候AREN你做什么”牛逼通过Windows身份验证连接,哪些用户用来确定权利? 如果你正在运行的服务作为一个管理员(上帝保佑),那么你可以有哪些不应该被允许的权利的高度。
我相信这将是地方接近。
INSERT INTO Files
(FileId, FileData)
SELECT 1, * FROM OPENROWSET(BULK N'C:\Image.jpg', SINGLE_BLOB) rs
一些需要注意的,在SQL Server 2005和SQL Server 2008的数据类型上面运行varbinary(max)
。 未与图像作为数据类型进行测试。