Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выгрузка в файл из Image, Запрос на создание файла 
V
    Опции темы
VitalyP
Дата 15.9.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 42
Регистрация: 24.8.2011

Репутация: нет
Всего: нет



Доброго времени суток!

Данная тема уже поднималась на форуме, но к сожалению мне не полностью помогло найденное.

Почитав вот это, у меня получилось записать в таблицу файл. 
Делаю это запросом из VBA:
Код

INSERT INTO dbo.pr_list (postav ,filename, filetype, doc) SELECT '" + Cells(1, 100) + "' As postav, 'file.xlsm' AS filename,'.xlsm' AS filetype, * FROM OPENROWSET(BULK 'c:\newfolder\file.xlsm', SINGLE_BLOB) AS doc


Теперь по кнопке в Builder мне надо выгрузить содержимое поля "doc" в файл.
Подскажите пожалуйста запрос для этого. Спасибо.

Вот при загрузке файла .tхt в поле doc появляется:
"0x" + "хексовый текст в ASCII"
Пример:
Код

Ехали медведи на велосипеде!
А за ними - раки на хромой собаке!

Результат:
Код

0xC5F5E0EBE820ECE5E4E2E5E4E820EDE020E2E5EBEEF1E8EFE5E4E5210D0AC020E7E020EDE8ECE8202D20F0E0EAE820EDE020F5F0EEECEEE920F1EEE1E0EAE521

В этом случае воссоздать файл вроде бы не сложно: 
Код

a=ADOQuery1->FieldByName("doc")->AsString;
 - содержимое файла в привычном виде.
Код

Memo1->Lines->Add(a);
 - позволяет убедиться.

Но приходится иметь дело с .jpeg, .pdf, .doc(x), .xls(x).

Это сообщение отредактировал(а) VitalyP - 15.9.2011, 15:34
PM MAIL   Вверх
Ejhi
Дата 16.9.2011, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 4.7.2008

Репутация: нет
Всего: нет



А если открыть jpeg в хекс-редакторе и сравнить с содержимым поля "doc", они совпадают?
PM MAIL   Вверх
VitalyP
Дата 16.9.2011, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 42
Регистрация: 24.8.2011

Репутация: нет
Всего: нет



Цитата(Ejhi @  16.9.2011,  15:05 Найти цитируемый пост)
А если открыть jpeg в хекс-редакторе и сравнить с содержимым поля "doc", они совпадают?

Да. Все типы файлов совпадают.

Это сообщение отредактировал(а) VitalyP - 16.9.2011, 15:50
PM MAIL   Вверх
VitalyP
Дата 21.9.2011, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 42
Регистрация: 24.8.2011

Репутация: нет
Всего: нет



Посмотрел вот тут.

Скачал сборку.

Но не могу выполнить:
Код

21    --Регистрируем сборку 
22    CREATE ASSEMBLY FileCompressCLR 
23    FROM 'C:\CLR\FileCompressCLR.dll'
24    WITH PERMISSION_SET = UNSAFE; 
25    GO


Пишет ошибку:
Сообщение 10327, уровень 14, состояние 1, строка 3
Не удалось выполнить CREATE ASSEMBLY для сборки "FileCompressCLR", так как сборка "FileCompressCLR" не авторизована для PERMISSION_SET = UNSAFE.  Сборка авторизуется в одном из следующих случаев: владелец базы данных (DBO) обладает разрешением UNSAFE ASSEMBLY, а в базе данных установлено свойство TRUSTWORTHY, либо сборка подписана сертификатом или асимметричным ключом, которому соответствует имя входа с разрешением UNSAFE ASSEMBLY.


Без строки:
Код

24    WITH PERMISSION_SET = UNSAFE;

работает.

Подскажите где мне выставить право с разрешением UNSAFE ASSEMBLY?

Не в той базе регистрировал. Теперь в той. Вот такая ошибка:
Сообщение 33009, уровень 16, состояние 2, строка 2
Идентификатор безопасности владельца базы данных, записанный в базе данных master, отличается от идентификатора безопасности владельца базы данных, записанного в базе данных "Test". Устраните это различие, сбросив владельца базы данных "Test" с помощью инструкции ALTER AUTHORIZATION.


Поспешил с сообщением, даже в ошибку не вчитался. Прошу прощения. Выполнил ALTER AUTHORIZATION.

Все работает!


Это сообщение отредактировал(а) VitalyP - 21.9.2011, 11:27
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.