Re: 64-bit type in SQLBindParameter
От | Hiroshi Inoue |
---|---|
Тема | Re: 64-bit type in SQLBindParameter |
Дата | |
Msg-id | 3DB88553.BF2B903B@tpf.co.jp обсуждение исходный текст |
Ответ на | 64-bit type in SQLBindParameter (Scot Loach <sloach@SANDVINE.com>) |
Список | pgsql-odbc |
Scot Loach wrote: > > Is it possible to use 64-bit types for bound queries? > > Here's my setup: > FreeBSD 4.7 > UnixODBC 2.2.0 > PostgreSQL 7.2.1 > PostgreSQL/UnixODBC driver 7.2.1 > > I'm using the BIGINT type for my column. > The program below prints out the error message: > > [unixODBC]Error while executing the query; > ERROR: parser: parse error at or near ")" > > It works if I change the SQL_BIGINT to SQL_INTEGER, but > it only uses 32 bits of the number in that case. > > #include <stdio.h> > #include <sql.h> > #include <sqlext.h> > > main() > { > SQLHENV env; > SQLHDBC dbc; > SQLINTEGER val = 0; > unsigned long long ll = 6000000000; > > SQLAllocEnv(&env); > SQLAllocConnect(env, &dbc); > SQLConnect(dbc, (SQLCHAR*)"my_db", SQL_NTS, (SQLCHAR*)0, 0, (SQLCHAR*)0, > 0); > SQLCHAR sql[] = "INSERT INTO my_table (my_column) VALUES (?)"; > > HSTMT hstmt; > SQLAllocStmt(dbc, &hstmt); > SQLPrepare(hstmt, sql, SQL_NTS); > SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_DEFAULT, SQL_BIGINT, > 0, 0, &ll, 0, &val); SQL_C_DEFAULT for SQL_BIGINT is SQL_C_CHAR. You can't specify SQL_C_SBIGINT(UBIGINT) for the C Data Type under the driver. regards, Hiroshi Inoue http://w2422.nsk.ne.jp/~inoue/
В списке pgsql-odbc по дате отправления: