powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / параметризованный запрос ч/з ODBC
1 сообщений из 1, страница 1 из 1
параметризованный запрос ч/з ODBC
    #33969155
Фотография (`yka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю вставку в DBF-таблицу (Microsoft dBase Driver) запросом с параметрами. В таблице поля char, decimal, date.
И всегда матерится "invalid string or buffer length".

В трейсе видно, что параметры биндятся нормально:
RejectUnlegal.v 478-948 ENTER SQLBindParameter
HSTMT 04AD19A8
UWORD 18
SWORD 1 <SQL_PARAM_INPUT>
SWORD -8 <SQL_C_WCHAR>
SWORD 1 <SQL_CHAR>
SQLULEN 254
SWORD 0
PTR 0x04900600
SQLLEN 510
SQLLEN * 0x049005FC
НО размеры текстовых полей умножены на 2, т.е. почему-то предполагается, что значения в юникод-кодировке.

В итоге:
RejectUnlegal.v 478-948 EXIT SQLExecDirectW with return code -1 (SQL_ERROR)
HSTMT 04AD19A8
WCHAR * 0x012EDC80 [ -3] "insert into 99610a06.010 (VERSION, "ACTION", NUMB_P, DATE_P, REGN, KTU_S, BIK_S, NUMBF_S, BRANCH, KTU_SS, BIK_SS, NUMBF_SS, RESRV_S, DATA, SUME, "SUM", CURREN, PRIM, PART, DESCR, RESRV_P, RESRV_PP, TU, NAMEU, KODCR, KODCN, AMR, ADRESS, KD, SD, RG, ND, VD, GR, MK) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)\ 0"
SDWORD -3

DIAG [HY090] [Microsoft][ODBC dBase Driver]Invalid string or buffer length (84)

У параметров делаю OdbcType.Char. Почему так?!! Как победить?


─────────
∙ Иногда решительный шаг вперед - результат хорошего пинка сзади ∙
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / параметризованный запрос ч/з ODBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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