|
|
|
параметризованный запрос ч/з ODBC
|
|||
|---|---|---|---|
|
#18+
Делаю вставку в 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. Почему так?!! Как победить? ───────── ∙ Иногда решительный шаг вперед - результат хорошего пинка сзади ∙ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2006, 18:35 |
|
||
|
|

start [/forum/topic.php?fid=17&tid=1353178]: |
0ms |
get settings: |
12ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 400ms |

| 0 / 0 |
