[egenix-users] Initial Install - Error 'vars not set'
Nick Albright
nick.albright at v-space.org
Fri Jun 9 12:14:57 CEST 2006
Hello again!
I've got some more debug data. I've got output form the ODBC trace as
well, but I can't make much out, other than I see that the that the select
statement is making it through.
-----Begin Trace------
** iODBC Trace file
** Trace started on Fri Jun 09 11:08:00 2006
** Driver Manager: 03.52.0406.0126
[000000.000176]
python 2A95562500 ENTER SQLAllocEnv
SQLHENV * 0x2a989dfd10
[000000.000204]
python 2A95562500 EXIT SQLAllocEnv with return code 0 (SQL_SUCCESS)
SQLHENV * 0x2a989dfd10 (0x522f00)
[000000.000603]
python 2A95562500 ENTER SQLAllocConnect
SQLHENV 0x522f00
SQLHDBC * 0x2a955dd770
[000000.000634]
python 2A95562500 EXIT SQLAllocConnect with return code 0 (SQL_SUCCESS)
SQLHENV 0x522f00
SQLHDBC * 0x2a955dd770 (0x5720a0)
[000000.000663]
python 2A95562500 ENTER SQLConnect
SQLHDBC 0x5720a0
SQLCHAR * 0x2a955caf54
| MSSQL |
SQLSMALLINT -3 (SQL_NTS)
SQLCHAR * 0x2a955cac24
| USER |
SQLSMALLINT -3 (SQL_NTS)
SQLCHAR * 0x2a98a1d174
| **** |
SQLSMALLINT -3 (SQL_NTS)
[000000.083548]
python 2A95562500 EXIT SQLConnect with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
SQLCHAR * 0x2a955caf54
SQLSMALLINT -3 (SQL_NTS)
SQLCHAR * 0x2a955cac24
SQLSMALLINT -3 (SQL_NTS)
SQLCHAR * 0x2a98a1d174
SQLSMALLINT -3 (SQL_NTS)
[000000.083632]
python 2A95562500 ENTER SQLGetFunctions
SQLHDBC 0x5720a0
SQLUSMALLINT 58 (SQL_API_SQLDESCRIBEPARAM)
SQLUSMALLINT * 0x7fbffff45e
[000000.083672]
python 2A95562500 EXIT SQLGetFunctions with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
SQLUSMALLINT 58 (SQL_API_SQLDESCRIBEPARAM)
SQLUSMALLINT * 0x7fbffff45e (0)
[000000.083707]
python 2A95562500 ENTER SQLGetInfo
SQLHDBC 0x5720a0
SQLUSMALLINT 81 (SQL_GETDATA_EXTENSIONS)
SQLPOINTER 0x7fbffff460
SQLSMALLINT 32
SQLSMALLINT * 0x7fbffff45c
[000000.083753]
python 2A95562500 EXIT SQLGetInfo with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
SQLUSMALLINT 81 (SQL_GETDATA_EXTENSIONS)
SQLPOINTER 0x7fbffff460 (0x4)
| SQL_GD_BLOCK |
SQLSMALLINT 32
SQLSMALLINT * 0x7fbffff45c (4)
[000000.083800]
python 2A95562500 ENTER SQLGetInfo
SQLHDBC 0x5720a0
SQLUSMALLINT 46 (SQL_TXN_CAPABLE)
SQLPOINTER 0x7fbffff460
SQLSMALLINT 32
SQLSMALLINT * 0x7fbffff45c
[000000.083839]
python 2A95562500 EXIT SQLGetInfo with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
SQLUSMALLINT 46 (SQL_TXN_CAPABLE)
SQLPOINTER 0x7fbffff460 (2)
| SQL_TC_ALL |
SQLSMALLINT 32
SQLSMALLINT * 0x7fbffff45c (2)
[000000.083885]
python 2A95562500 ENTER SQLSetConnectOption
SQLHDBC 0x5720a0
SQLUSMALLINT 102 (SQL_AUTOCOMMIT)
SQLLEN 0
[000000.084150]
python 2A95562500 EXIT SQLSetConnectOption with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
SQLUSMALLINT 102 (SQL_AUTOCOMMIT)
SQLLEN 0
[000000.084209]
python 2A95562500 ENTER SQLAllocStmt
SQLHDBC 0x5720a0
SQLHSTMT * 0x2a955d0fc0
[000000.084249]
python 2A95562500 EXIT SQLAllocStmt with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
SQLHSTMT * 0x2a955d0fc0 (0x51e860)
[000000.084286]
python 2A95562500 ENTER SQLFreeStmt
SQLHSTMT 0x51e860
SQLUSMALLINT 0 (SQL_CLOSE)
[000000.084319]
python 2A95562500 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x51e860
SQLUSMALLINT 0 (SQL_CLOSE)
[000000.084346]
python 2A95562500 ENTER SQLExecDirect
SQLHSTMT 0x51e860
SQLCHAR * 0x2a955ccdd4
| SELECT COUNT(*) AS c FROM items |
SQLINTEGER 31
[000000.088062]
python 2A95562500 EXIT SQLExecDirect with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x51e860
SQLCHAR * 0x2a955ccdd4
SQLINTEGER 31
[000000.088122]
python 2A95562500 ENTER SQLNumResultCols
SQLHSTMT 0x51e860
SQLSMALLINT * 0x7fbffff44e
[000000.088146]
python 2A95562500 EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x51e860
SQLSMALLINT * 0x7fbffff44e (1)
[000000.088172]
python 2A95562500 ENTER SQLRowCount
SQLHSTMT 0x51e860
SQLLEN * 0x7fbffff448
[000000.088198]
python 2A95562500 EXIT SQLRowCount with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x51e860
SQLLEN * 0x7fbffff448 (-1)
[000000.090037]
python 2A95562500 ENTER SQLFreeStmt
SQLHSTMT 0x51e860
SQLUSMALLINT 3 (SQL_RESET_PARAMS)
[000000.090108]
python 2A95562500 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x51e860
SQLUSMALLINT 3 (SQL_RESET_PARAMS)
[000000.090143]
python 2A95562500 ENTER SQLCancel
SQLHSTMT 0x51e860
[000000.090468]
python 2A95562500 EXIT SQLCancel with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x51e860
[000000.090492]
python 2A95562500 ENTER SQLFreeStmt
SQLHSTMT 0x51e860
SQLUSMALLINT 1 (SQL_DROP)
[000000.090526]
python 2A95562500 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x51e860
SQLUSMALLINT 1 (SQL_DROP)
[000000.090558]
python 2A95562500 ENTER SQLDisconnect
SQLHDBC 0x5720a0
[000000.090618]
python 2A95562500 EXIT SQLDisconnect with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
[000000.090646]
python 2A95562500 ENTER SQLFreeConnect
SQLHDBC 0x5720a0
[000000.090669]
python 2A95562500 EXIT SQLFreeConnect with return code 0 (SQL_SUCCESS)
SQLHDBC 0x5720a0
[000000.091991]
python 2A95562500 ENTER SQLFreeEnv
SQLHENV 0x522f00
[000000.092035]
python 2A95562500 EXIT SQLFreeEnv with return code 0 (SQL_SUCCESS)
SQLHENV 0x522f00
** Trace finished on Fri Jun 09 11:08:00 2006
-----End Trace-----
Any suggestions?
Thanks for your time,
-Nick
On Wed, 7 Jun 2006, Nick Albright wrote:
>
>
> Hello! I was wondering if anyone could help me troubleshoot my fresh
> install of mxODBC. I'm using iODBC with freeTDS to connect to a MS SQL
> server. I execute a select statement and do a fetchone() and I get the
> error:
>
> -----Begin Error-----
> Traceback (most recent call last):
> File "tmp/sql_test.py", line 35, in ?
> data = curs.fetchone()
> mxODBC.InterfaceError: mxODBCursor_Fetch called, but vars not set
> -----Begin Error-----
>
>
> The full code is:
>
> -----Begin Code-----
> import mx.ODBC.iODBC as A
>
> db = A.connect( "MSSQL", "USER", "PASS" )
>
> curs = db.cursor()
>
> curs.execute( "SELECT COUNT(*) AS c FROM items" )
>
> data = curs.fetchone()
>
> print data
> -----End Code-----
>
>
> And I believe the odbc and freetds side is setup correctly as I can use
> isql just fine:
>
> -----Begin isql-----
> $ isql -v MSSQL USER PASS
> +---------------------------------------+
> | Connected! |
> | |
> | sql-statement |
> | help [tablename] |
> | quit |
> | |
> +---------------------------------------+
> SQL> SELECT COUNT(*) AS c FROM items;
> +------------+
> | c |
> +------------+
> | 3897 |
> +------------+
> SQLRowCount returns 1
> 1 rows fetched
> SQL>
> -----End isql-----
>
>
> I know it is connecting OK, as if I change any of the connection
> parameters, I get an exception connecting. However, it is strange in that
> if I change iODBC to unixODBC (Which I don't have installed), I get the
> same error.. And after the execute the curs.rowcount is -1.
>
> Any help would be most appreciated.
>
> Thanks for your time,
> -Nick
>
---
"I'm happy with where I'm at now. Its never good enough of course, but
I'm not extremely pissed at least."
-- John Mancine on some code (1/10/2005)
More information about the egenix-users
mailing list