Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 как с диска записать файл в БД  [new]
serghey
Member

Откуда: г.Москва
Сообщений: 414
string source = @"Data source=sergm\sergm;" +
"Initial Catalog=document; Integrated security=SSPI";
SqlConnection sqlcon = new SqlConnection(source);
SqlCommand com = new SqlCommand();
com.CommandText = @"INSERT INTO doc(document) SELECT * " +
@"FROM OPENROWSET(BULK N'd:\ris\ris.jpeg', SINGLE_BLOB)" +
@" AS img";
com.Connection = sqlcon;
com.ExecuteScalar();

sqlcon.Open();

не могу разобраться в чем же косяк. Этот код ничего не добавил в БД. Хотя в другие поля не BLOB вставляет данные, например

com.CommandText = @"INSERT INTO doc(number_doc) values (N'sadasd'');
19 апр 07, 09:03    [4040259]     Ответить | Цитировать Сообщить модератору
 Re: как с диска записать файл в БД  [new]
serghey
Member

Откуда: г.Москва
Сообщений: 414
или другое:
создана хр для вставки (работает)

alter PROCEDURE i_oo_doc

AS
BEGIN
SET NOCOUNT ON;
INSERT INTO doc(document)
SELECT * FROM OPENROWSET(BULK N'd:\test7.odt', SINGLE_BLOB) AS img
END
GO

пробовал переделать в более универсальное представление:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

alter PROCEDURE i_oo_doc
@path_dir nvarchar(100)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO doc(document)
SELECT * FROM OPENROWSET(BULK @path_dir, SINGLE_BLOB) AS img
END
GO

а вот это не работает
19 апр 07, 09:16    [4040287]     Ответить | Цитировать Сообщить модератору
 Re: как с диска записать файл в БД  [new]
serghey
Member

Откуда: г.Москва
Сообщений: 414
или при помощи filestream что ли
19 апр 07, 09:23    [4040318]     Ответить | Цитировать Сообщить модератору
 Re: как с диска записать файл в БД  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
Conserving Resources When Writing BLOB Values to SQL Server; Writing BLOB Values to a Database
19 апр 07, 09:36    [4040373]     Ответить | Цитировать Сообщить модератору
 Re: как с диска записать файл в БД  [new]
serghey
Member

Откуда: г.Москва
Сообщений: 414
благодарю за помощь
19 апр 07, 09:53    [4040474]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить