2010-03-30 2 views
4

Интересно, могут ли некоторые помочь мне с этой маленькой проблемой. У меня есть следующая вставка:объемная вставка изображения из относительного пути

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?

+0

ли вы когда-либо получить решение для этого? – Mike

+0

Нет, я еще не нашел решение. – Markus

+0

http://stackoverflow.com/questions/139245/relative-path-in-t-sql - это именно то, что вам нужно. Для этого нет прямого прямого ответа :( –

ответ

0

Вы можете вставить поле varbinary(max), используя T-SQL, используя команду OPENROWSET.

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

Обратите внимание, что путь к файлу в данном случае относительно целевого сервера SQL и не ваш клиент работает эта команда.

По существу, есть два способа выбора BLOB с TSQL:

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 ...

подробнее here.

Смежные вопросы