从相对路径批量插入图像

发布于 2024-08-26 21:35:11 字数 339 浏览 5 评论 0原文

我想知道是否有人可以帮我解决这个小问题。我有以下插入语句:

insert into symbol (sy_id, sy_fg_color, sy_bg_color, sy_icon)
select 302, 0, 16245177, sy_icon = (select * from openrowset(bulk 'K:\mypath\icons\myicon.png', single_blob) as image)

是否可以以任何方式使路径相对?我正在使用 TFS 来部署数据库,因此如果无法使其与 T-SQL 相关,也许可以通过 TFS/Visual Studio 部署的一些帮助来完成?

I wonder if some can help me out with this little problem. I have the following insert statement:

insert into symbol (sy_id, sy_fg_color, sy_bg_color, sy_icon)
select 302, 0, 16245177, sy_icon = (select * from openrowset(bulk 'K:\mypath\icons\myicon.png', single_blob) as image)

Is it possible to make the path relative in any way? I'm using TFS to deploy the database, so if it's not possible to make it relative with T-SQL, maybe it can be done with a little help from TFS/Visual Studio deploy?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遮云壑 2024-09-02 21:35:11

您可以使用 T-SQL 使用 OPENROWSET 命令插入到 varbinary(max) 字段中。

INSERT dbo.tblPhotos
(
    LargePhoto
)
SELECT tblPhotos.*
FROM OPENROWSET 
    (BULK 'c:\images\image*.jpg', SINGLE_BLOB) ThumbnailPhoto

请注意,本例中的文件路径是相对于目标 SQL 服务器的,而不是相对于运行此命令的客户端。

本质上,有两种使用 TSQL SELECT BLOB 的方法:

SELECT * FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a

以及:

SELECT BulkColumn FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a

然后您可以通过执行 INSERT SELECT... 或 UPDATE SELECT ... 来使用它来 INSERT。

查看更多 此处。

You can insert into a varbinary(max) field using T-SQL using the OPENROWSET commmand.

INSERT dbo.tblPhotos
(
    LargePhoto
)
SELECT tblPhotos.*
FROM OPENROWSET 
    (BULK 'c:\images\image*.jpg', SINGLE_BLOB) ThumbnailPhoto

Note that the file path in this case is relative to the targeted SQL server and not your client running this command.

Essentially, there are two ways to SELECT a BLOB with TSQL:

SELECT * FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a

As well as:

SELECT BulkColumn FROM OPENROWSET (BULK 'C:\Test\Test1.pdf', SINGLE_BLOB) a

You can then use this to INSERT by doing an INSERT SELECT... or an UPDATE SELECT ...

See more here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文