Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Отправляю фалы на MS SQL Server 2005:
[attachment 33180 blob_to_image.jpg] прошу вашей помощи. Где собака зарыта? |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
1. Вместо IMAGE перейти на varbinary(max)
2.
имеет ограничение в 16М (не всегда, иногда больше) 3. Для загрузки большого файла в курсор использовать APEEND MEMO FROM, и затем по схеме как в твоём коде. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Поменял в SQL-таблице тип поля на VARBINARY(max). Делаю загрузку dbf-фала размером 29,3 Мб:
[attachment 33184 blob_to_image001.jpg] как победить? |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Получилось добиться желаемого результата путём замены:
|
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Зачем блоб в блоб кастовать?
------------------ WBR, Igor |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
ААА, наследие драйвера MySQL ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Если запускать без CAST
Последний вариант с CAST рабочий. |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Изменение типа поля с IMAGE на VARBINARY(max):
|
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Изменение типа обычно не приводит к потере данных. Но что мешает проверить на временной таблице? ------------------ Лень - это неосознанная мудрость. |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
На временной проверил, всё прошло без потерь. Решил лишний раз спросить для спокойствия души.
|
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Все-таки команда FILETOSTR с большими файлами не работает. Файл размером 409 Мб ещё преобразует, а уже - 470 Мб выдаёт ошибку:
[attachment 33189 blob_to_image002.jpg] правильное альтернативное решение это APPEND MEMO FROM? |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Нужна ваша помощь. При попытке поместить dbf-файл, размером 740 Мб - 3286031 записей, в BLOB-поле курсора:
а потом обратно получить dbf-файл:
то в результате, размер dbf-файла уменьшается до 17,6 Мб и к-во записей получатся 9626 вместо 3286031. Что я не правильно делаю. Как я могу отправить файл на SQL, если у меня на фоксе такая ерунда получается? Помогите разобраться. |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Тут разобрался, ошибка в имени курсора была. Сейчас работает. Запись в курсор:
чтение с курсора:
Осталось только на SQL передать. Пока не получается. |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Сделал на SQL хранимую процедуру:
с фокса передаю в ХП параметры:
в результате ошибка: [attachment 33191 blob_to_image003.jpg] пробовал использовать драйвер SQL Server Native Client 11.0, получаю другу ошибку: [attachment 33192 blob_to_image004.jpg] пока вариантов нет. Буду благодарен за помощь. |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
1. На какой команде валится ошибка?
2. На сервере TCP/IP протокол разрешен? 3. Ну в БД master писать не надо, лучше сделать пользовательскую 4. Права на ХП DocTmp_ins у AppAdmin на exec есть? 5. Что вернёт select @@version ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Ошибка происходит на выполнении SQLEXEC TCP/IP протокол разрешен В строке соединения указываю базу master, а когда передаю SQL-команду, то к объектам обращаюсь через имя_БД..имя_объекта Права на EXEC DDOC..DocTmp_ins у AppAdmin есть @@version возвращает: Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) Dec 10 2010 10:56:29 Copyright (c) 1988-2005 Microsoft Corporation Workgroup Edition on Windows NT 5.2 (Build 3790: Service Pack 2) Выполняю тот-же код, но с другой таблицей, размером 550 байт, всё проходит без ошибок. Размер таблицы, с которой вываливается ошибка, составляет 740 Мб. |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
hztp_serg Автор Сообщений: 577 Откуда: Хмельницкий Дата регистрации: 19.06.2007 |
Пробовал скидывать dbf-файлы разных размеров, от меньших до больших, с помощью драйверов SQL Server и SQL Server Native Client 11.0. Получилась такая картина:
[attachment 33195 blob_to_image005.jpg] в результате, с помощью драйвера SQL Server (версия 6.01 от 21.11.2010), файл размером 65.5 Мб отправлен, а уже отправка файла размером 99.5 Мб, выдала ошибку, которая указана выше. С использованием драйвера SQL Server Native Client 11.0 (от 15.08.2017), удалось отправить файл размером 252.5 Мб, а уже отправка файла с размером 367 Мб, закончилась ошибкой, указаной выше. Вопрос остаётся открытым. Как отправлять файлы любых размеров в поле VARBINARY(MAX)? Получать их обратно, я думаю, проблем не должно быть. |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
PaulWist Сообщений: 14618 Дата регистрации: 01.04.2004 |
Попробуй изменить размер пакета (network packet size (B)) со стандартного 4096 до 9192, или больше кратно 4096.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Загрузка файлов на SQL (BLOB в IMAGE) | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Я в этом ничего не понимаю, но, поинтересуюсь, нет ли в SQL-скрипте драйвера опции, чтобы добавлять в Мемо-поле кусками (как в фоксе) ? Тогда можно донаполнять малыми дозами.
Доб. Под Мемо имею ввиду VARCHAR-ы, под добавлением в фоксе - APPEND MEMO MemoFieldName FROM FileName Может если написать правильный UPDATE, то можно добавить за несколько раз до любого кол. ГБайтов Исправлено 1 раз(а). Последнее : of63, 06.05.20 19:27 |
© 2000-2024 Fox Club  |