Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / ODBC Достигнута максимальная длина запрос. / 6 сообщений из 6, страница 1 из 1
05.08.2016, 13:03
    #39287110
=v3=
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC Достигнута максимальная длина запрос.
Доброго времени суток.

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

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

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

Спасибо за ответ.
Синтаксис параметров не получилось применить.
Возможно есть другие способы решения данной задачи.
Желательно с примерами.
Синтаксис должен использовать стандартные запросы
без особенностей языков программирования.
...
Рейтинг: 0 / 0
22.08.2016, 15:35
    #39295618
MrCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC Достигнута максимальная длина запрос.
Синтаксис параметров не получилось применитьну-ну. А пример кода посмотреть можно?
есть другие способы решения данной задачинет. Хотя, наверное, какие-нибудь костыли можно придумать, но зачем?
...
Рейтинг: 0 / 0
22.08.2016, 15:49
    #39295633
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC Достигнута максимальная длина запрос.
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
30.08.2016, 12:50
    #39300206
=v3=
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC Достигнута максимальная длина запрос.
Добрый день.

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

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


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