powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / ODBC Достигнута максимальная длина запрос.
6 сообщений из 6, страница 1 из 1
ODBC Достигнута максимальная длина запрос.
    #39287110
=v3=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Решил перенести XML в базу.
Как добавить дынные из файла в текстовое поле если файл превышает ограничение на длину запроса?
Возможно есть синтаксис для данной операции.
...
Рейтинг: 0 / 0
ODBC Достигнута максимальная длина запрос.
    #39287294
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заменяем пухлый литерал в запросе параметром. После компиляции запроса, но перед выполнением, привязываем к параметру пухлое значение. В качестве закрепления рефлекса, шерстим код в поисках запросов с литералами и заменяем всё, за исключением самых примитивных случаев, на параметры.

Синтаксис параметров SQLite описан здесь (раздел Parameters).
...
Рейтинг: 0 / 0
ODBC Достигнута максимальная длина запрос.
    #39295296
v3-62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrCatЗаменяем пухлый литерал в запросе параметром. После компиляции запроса, но перед выполнением, привязываем к параметру пухлое значение. В качестве закрепления рефлекса, шерстим код в поисках запросов с литералами и заменяем всё, за исключением самых примитивных случаев, на параметры.

Синтаксис параметров SQLite описан здесь (раздел Parameters).

Спасибо за ответ.
Синтаксис параметров не получилось применить.
Возможно есть другие способы решения данной задачи.
Желательно с примерами.
Синтаксис должен использовать стандартные запросы
без особенностей языков программирования.
...
Рейтинг: 0 / 0
ODBC Достигнута максимальная длина запрос.
    #39295618
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Синтаксис параметров не получилось применитьну-ну. А пример кода посмотреть можно?
есть другие способы решения данной задачинет. Хотя, наверное, какие-нибудь костыли можно придумать, но зачем?
...
Рейтинг: 0 / 0
ODBC Достигнута максимальная длина запрос.
    #39295633
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v3-62Синтаксис параметров не получилось применить
Почему не удалось?


Рабочий пример на VB6, для колонок с типом BLOB удачно смапился тип adVarBinary. Если у вас TEXT, думаю можно поиграться adVarChar, adBSTR, adLongVarChar и т.д.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Private Sub Form_Load()
        
    'Открываем базу
    Dim SQLCn As New ADODB.Connection
    SQLCn.Open "Provider=MSDASQL.1;Extended Properties=""DRIVER=SQLite3 ODBC Driver;Database=D:\P.db;"""
    
    'Открываем файл с данными
    Dim FStream As New ADODB.Stream
    With FStream
        .Type = adTypeBinary
        .Open
        .LoadFromFile "D:\black-mesa.jpg"
    End With
    
    'Создаём команду с параметром
    Dim SQLCmd As New ADODB.Command
    With SQLCmd
        .ActiveConnection = SQLCn
        
        .CommandType = adCmdText
        .CommandText = "insert into img(data) values(?)"
        
        .Parameters.Append .CreateParameter("p1", adLongVarBinary, adParamInput, FStream.Size, FStream.Read)
    End With

    Dim RowsAff As Integer
    SQLCmd.Execute RowsAff
    
    FStream.Close
    MsgBox RowsAff
End Sub
...
Рейтинг: 0 / 0
ODBC Достигнута максимальная длина запрос.
    #39300206
=v3=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Пример помог понять где и что искать.
Как появилось время разобрался
Добавил FStream.charset = "utf-8"
все работает.

Всем большое спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / ODBC Достигнута максимальная длина запрос.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]