Проблема вставки двоичных данных через SQL-запрос (SQL Server 2008) - PullRequest
2 голосов
/ 05 апреля 2011

Это запрос, который я нашел для вставки двоичных данных (используя varbinary), который работает отлично CREATE TABLE Employees (<br> Id int,<br> Name varchar(50) not null,<br> Photo varbinary(max) not null<br> )</p> <p> INSERT INTO Employees (Id, Name, Photo)<br> SELECT 10, 'John', BulkColumn from Openrowset( Bulk 'C:\photo.bmp', Single_Blob) as EmployeePicture

Но что, если у сотрудника таблицы есть такие столбцы, как:
CREATE TABLE Employees (<br> Id int,<br> Photo varbinary(max) not null,<br> Name varchar(50) not null<br> )

[Колонка фотографий здесь 2-ая!]
Я пытался манипулировать запросом вставки, но это не помогло !!

1 Ответ

2 голосов
/ 05 апреля 2011

Вы бы использовали

 INSERT INTO Employees
 SELECT 10, BulkColumn AS EmployeePicture, 'John'
 FROM OPENROWSET( BULK 'C:\photo.bmp', Single_Blob) bc

Или

 INSERT INTO Employees
 SELECT 10, 
        (SELECT BulkColumn AS EmployeePicture  FROM OPENROWSET( BULK 'C:\photo.bmp', Single_Blob) bc), 
        'John'

Полагаю, вы, вероятно, пытались что-то подобное

 INSERT INTO Employees
 SELECT 10, 
        BulkColumn AS EmployeePicture  FROM OPENROWSET( BULK 'C:\photo.bmp', Single_Blob), 
        'John'
...