mkleehammer / pyodbc Goto Github PK
View Code? Open in Web Editor NEWPython ODBC bridge
Home Page: https://github.com/mkleehammer/pyodbc/wiki
License: MIT No Attribution
Python ODBC bridge
Home Page: https://github.com/mkleehammer/pyodbc/wiki
License: MIT No Attribution
The code is pretty clear that that bytearray is returned binary data for python2.6+.
However, the doco says bytes are returned in "SQL values received from the database".
Is the doco .. aspirational?
pyodbc.ProgrammingError: ('The SQL contains 0 parameter markers, but 12 parameters were supplied', 'HY000')
I have this problem when using insert into x values (?,?)
I'm using Pyodbc 3.0.3.
Attempting to use the following code:
connection.cursor().executemany("INSERT INTO my_table (AN_INT) VALUES(?)",
((id_, ) for id_ in xrange(1000)))
results in a ProgrammingError - pyodbc is checking the the result is a sequence of the type Tuple, List or Row. Would it be possible to also add generators to the list of valid sequences that can be passed to this method?
I just wanted to create this issue as a placeholder for the implementation of parameter arrays in pyodbc.
In cases where users are attempting to bulk load data into a database using the executemany() function, parameter arrays allow the data to be "buffered up" so that it is transferred in batches to the database rather than one record at a time. This makes orders-of-magnitude differences in the speed of the operation.
Not all databases accept parameter arrays, but Microsoft SQL Server does:
https://msdn.microsoft.com/en-us/library/ms713841(v=vs.85).aspx
Github user 'gbegen' has apparently already implemented this functionality from an earlier fork of pyodbc (some years ago now), and his updates can be seen here:
gbegen@956201e
It would be great if those changes could be folded into the latest version of pyodbc. I for one would be extremely grateful.
I am using Ubuntu 9.04
I have installed the following package versions:
unixodbc and unixodbc-dev: 2.2.11-16build3
tdsodbc: 0.82-4
libsybdb5: 0.82-4
freetds-common and freetds-dev: 0.82-4
I have configured /etc/unixodbc.ini like this:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =
UsageCount = 2
I have configured /etc/freetds/freetds.conf like this:
[global]
tds version = 8.0
client charset = UTF-8
I have grabbed pyodbc revision 31e2fae from http://github.com/mkleehammer/pyodbc and installed it using "python setup.py install"
I have a windows machine with Microsoft SQL Server 2000 installed on my local network, up and listening on the local ip address 10.32.42.69. I have an empty database created with name "Common". I have the user "sa" with password "secret" with full priviledges.
I am using the following python code to setup the connection:
import pyodbc
odbcstring = "SERVER=10.32.42.69;UID=sa;PWD=secret;DATABASE=Common;DRIVER=FreeTDS"
con = pyodbc.connect(s)
cur = con.cursor()
cur.execute('''
CREATE TABLE testing (
id INTEGER NOT NULL IDENTITY(1,1),
name NVARCHAR(200) NULL,
PRIMARY KEY (id)
)
''')
con.commit()
Everything WORKS up to this point. I have used SQLServer's Enterprise Manager on the server and the new table is there. Now I want to insert some data on the table.
cur = con.cursor()
cur.execute('INSERT INTO testing (name) VALUES (?)', (u'áéí',))
That fails!! Seems like pyodbc won't accept a unicode object. Here's the error I get:
pyodbc.Error: ('HY004', '[HY004] [FreeTDS][SQL Server]Invalid data type (0) (SQLBindParameter)'
Since my freetds client is configured to use UTF-8 as above, I thought I could solve by encoding data to UTF-8. That gives no error, but then I get back strange data when I query. pyodbc returns unicode strings, and decoded with the wrong encoding so the chars are wrong.
If I can't insert an unicode string, why do I get those back? And wrong?
I have a query that fetches not so big strings. In isql I query the length of the Content field and get this:
ID | TypeA | TypeB | LENGTH(Content)
-----------+---------+-----------+--------
292581866 | X | A | 62603
292581866 | X | B | 2481
292581866 | X | C | 59296
When I try to fetch this from pyodbc with the Content field, I get an empty result. If I query it without the Content field, I get the 3 rows.
I think this is similar to this: https://code.google.com/p/pyodbc/issues/detail?id=296
I am connecting to a HP Vertica database.
Hi
Build fails:
running
sudo python setup.py build install
returns
x-10.6-intel-2.7/pyodbc.so
ld: library not found for -lodbc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang++' failed with exit status 1
I can install from 3.0.7 using the same technique fine.
Trying to perform an operation on a closed connection currently produces a ProgrammingError but there is no way to check if a connection is open.
It would be great to be able to check if a connection is open before trying to run queries or close the connection.
tar tf /sw/src/pyodbc-3.0.10.tar.gz | grep -i readme
yields nada
What steps will reproduce the problem?
import pyodbc
def checkTable():
cursor = TDCONN.cursor()
sql = "SELECT 1 FROM query with error"
try:
cursor.execute(sql)
for row in cursor:
print "How did this query work?\n"
exit(0)
except Exception, e:
print e
print "SQL Exception: " + e.message
cursor.close()
def main():
checkTable()
TDCONN.close()
if name == "main":
TDCONN = pyodbc.connect('DSN=mydsn;',ansi=True, autocommit=True)
print "\nTeradata connection established \n"
main()
====ODBC.ini====
[mydsn]
Driver=/opt/teradata/client/14.00/odbc_64/lib/tdata.so
Description=Desc
DBCName=mydbc
LastUser=myuser
Username=myuser
Password=Tmp
Database=mydb
DefaultDatabase=mydb
TDMSTPortNumber=1025
DateTimeFormat=AAA
What is the expected output? What do you see instead?
Expected output:
Teradata connection established
Syntax error: expected something between the 'with' keyword and the 'error' keyword.
State: 37000; Native: -3706; Origin: [Teradata][ODBC Teradata Driver][Teradata Database]
Actual Output:
Teradata connection established
('HY000', '[HY000] [unixODBC][Driver Manager]Driver returned SQL_ERROR or SQL_SUCCESS_WITH_INFO but no error reporting API found (0) (SQLExecDirectW)')
SQL Exception:
What version of the product are you using? On what operating system?
pyodbc - 2.1.8
OS - Linux version 2.6.18-238.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Thu Jan 13 15:51:15 EST 2011
When using unicode query string, query doesn't execute.
import pyodbc
con = pyodbc.connect('DSN=Northwind; UID=vte; PWD=vte')
res = con.cursor().execute(u"select * from Customers where CustomerID = 'ĄŁÓ$!'").fetchall()
print len(res)
#output: 0, should be 1
When encoding query string utf-8 the result is the same - 0
My configuration on Ubuntu 10.04
FreeTDS 0.91 freetds.conf
[global]
# TDS protocol version
tds version = 8.0
client charset = UTF-8
text size = 64512
[mssql]
host = hostname.somedomain
port = 1433
tds version = 8.0
unixODBC 2.3.0 odbcinst.ini
[FreeTDS]
Driver = /usr/local/lib/libtdsodbc.so
[SQLServer]
Driver = /usr/local/lib/libtdsodbc.so
obdc.ini
[Northwind]
Description = MS SQL Database
Driver = FreeTDS
Servername = mssql
Database = Northwind
UID =
PWD =
Port = 1433
pyodbc-3.0.2_beta01-py2.6
Select works fine when using
isql
isql Northwind vte vte
select * from Customers where CustomerID = 'ĄŁÓ$!'
or tsql
tsql -S mssql -U vte -P vte
use Northwind
go
select * from Customers where CustomerID = 'ĄŁÓ$!'
go
Due to security requirements built-in into all newer pip versions a simple pip install pyodbc
doesn't work anymore with a current version of pip. Example:
$ pip --version
pip 6.1.1 from /path/to/virtualenv/lib/python2.7/site-packages (python 2.7)
$ pip install pyodbc
Collecting pyodbc
Could not find a version that satisfies the requirement pyodbc (from versions: )
Some externally hosted files were ignored as access to them may be unreliable (use --allow-external pyodbc to allow).
No matching distribution found for pyodbc
It is possible to make an installation work using some switches as follows, but this should not be necessary.
$ pip install -v --allow-external pyodbc --allow-unverified pyodbc pyodbc
The python dist package needs to be uploaded to the PyPI server to fix this problem, using something like:
$ python ./setup.py sdist upload
This is really a critical issue, not just a nice-to-have.
Brought over from code.google.com.
What steps will reproduce the problem?
What is the expected output?
Exception to be raised in 'timeout' settings value (10 seconds in this case)
What do you see instead?
Default timeout reached and then pyodbc.Error raised
What version of the product are you using?
python 2.7 | pyodbc 3.0.5
On what operating system?
Windows 7 64bit | SQL Server 2008 R2
Please provide any additional information below.
I believe the problem may be an incorrect setting is being applied to the SQLSetConnectAttr function in connection.cpp (line 75). The setting being applied is SQL_ATTR_LOGIN_TIMEOUT; which the spec says, "The query timeout period expired before the connection to the data source completed. The timeout period is set through SQLSetConnectAttr, SQL_ATTR_LOGIN_TIMEOUT."
There is another setting that is for the data source connection timeout named "SQL_ATTR_CONNECTION_TIMEOUT"; which the spec says, "The connection timeout period expired before the data source responded to the request. The connection timeout period is set through SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT."
The documentation could be incorrect since the Connection page doesn't have any information on the timeout keyword. I may be using it incorrectly or using the wrong keyword argument, but the source shows the keyword being 'timeout'.
If you are using msysgit this can be configured so that you check out CRLF and commit LF only. Having CRLF creates all kinds of problems for *nix / OS X users
on this:
This query when executed against a SQL Server in Pyodbc 3.0.7 on Mac OS X using iODBC will raise a MemoryError
:
SELECT CAST(NULL AS DECIMAL)
There is no issue when tried directly in FreeTDS directly via tsql
(0.91).
(UPDATED: Added version, Mac OS X and iODBC to description.)
Sorry if I missed something obvious, but is there a way we can easier contribute changes / enhancements to the documentation on github.io?
I've recently upgraded from using 3.0.7 of this library to 3.0.9 and get the following error when it tries to connect to Microsoft SQL Server.
Traceback (most recent call last):
File "test_query_guide.py", line 71, in
spec_cursor.execute("SELECT * FROM [SQL API]")
pyodbc.ProgrammingError: ('42000', "[42000] [FreeTDS][SQL Server]Could not find stored procedure 'S'. (2812) (SQLExecDirectW)")
For now, I've rolled back to 3.0.7.
I was trying to get stored procedures on the as400 to return a result set (testing with pyodbc and pypyodbc, python 2.7 64 bit, windows 7), found a bug in the windows iseries access odbc driver was the issue (as it worked on linux using ibm's linux driver and isql).
Having applied the latest windows iseries access patch si55797 , now found result set works fine with pypyodbc, but now pyodbc crashes python.exe as soon as it gets to the connect method, regardless of pyodbc version used, 64 or 32 bit versions, string or unicode connection string, exactly same issue was reported here
I've used a simple select query to get odbc log traces from pyodbc (crashes python) and pypyodbc (works ok)
import pyodbc
connection = pyodbc.connect('DSN=scuksg;Uid=*******;Pwd=*******;CCSID=1208') #
cur = connection.cursor()
print cur.execute("select lname from irmpr.address").fetchone()
Pythonwin 1698-b94 ENTER SQLSetEnvAttr
SQLHENV 0x0000000000000000
SQLINTEGER 201 <SQL_ATTR_CONNECTION_POOLING>
SQLPOINTER 2 <SQL_CP_ONE_PER_HENV>
SQLINTEGER 4
Pythonwin 1698-b94 EXIT SQLSetEnvAttr with return code 0 (SQL_SUCCESS)
SQLHENV 0x0000000000000000
SQLINTEGER 201 <SQL_ATTR_CONNECTION_POOLING>
SQLPOINTER 2 <SQL_CP_ONE_PER_HENV>
SQLINTEGER 4
Pythonwin 1698-b94 ENTER SQLAllocHandle
SQLSMALLINT 1 <SQL_HANDLE_ENV>
SQLHANDLE 0x0000000000000000
SQLHANDLE * 0x0000000004CDA698
Pythonwin 1698-b94 EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 1 <SQL_HANDLE_ENV>
SQLHANDLE 0x0000000000000000
SQLHANDLE * 0x0000000004CDA698 ( 0x000000000092F850)
Pythonwin 1698-b94 ENTER SQLSetEnvAttr
SQLHENV 0x000000000092F850
SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
SQLPOINTER 3 <SQL_OV_ODBC3>
SQLINTEGER 4
Pythonwin 1698-b94 EXIT SQLSetEnvAttr with return code 0 (SQL_SUCCESS)
SQLHENV 0x000000000092F850
SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
SQLPOINTER 3 <SQL_OV_ODBC3>
SQLINTEGER 4
Pythonwin 1698-b94 ENTER SQLAllocHandle
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 0x000000000092F850
SQLHANDLE * 0x000000000012D480
Pythonwin 1698-b94 EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 0x000000000092F850
SQLHANDLE * 0x000000000012D480 ( 0x000000000092F920)
Pythonwin 1698-b94 ENTER SQLDriverConnectW
HDBC 0x000000000092F920
HWND 0x0000000000000000
WCHAR * 0x000007FEE0C58F08 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x000007FEE0C58F08
SWORD -3
SWORD * 0x0000000000000000
UWORD 0 <SQL_DRIVER_NOPROMPT>
Pythonwin 1698-b94 EXIT SQLDriverConnectW with return code 0 (SQL_SUCCESS)
HDBC 0x000000000092F920
HWND 0x0000000000000000
WCHAR * 0x000007FEE0C58F08 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x000007FEE0C58F08 <Invalid buffer length!> [-3]
SWORD -3
SWORD * 0x0000000000000000
UWORD 0 <SQL_DRIVER_NOPROMPT>
Pythonwin 1698-b94 ENTER SQLSetConnectAttr
SQLHDBC 0x000000000092F920
SQLINTEGER 102 <SQL_ATTR_AUTOCOMMIT>
SQLPOINTER 0 <SQL_AUTOCOMMIT_OFF>
SQLINTEGER -5
Pythonwin 1698-b94 EXIT SQLSetConnectAttr with return code 0 (SQL_SUCCESS)
SQLHDBC 0x000000000092F920
SQLINTEGER 102 <SQL_ATTR_AUTOCOMMIT>
SQLPOINTER 0 <SQL_AUTOCOMMIT_OFF>
SQLINTEGER -5
Pythonwin 1698-b94 ENTER SQLGetInfoW
HDBC 0x000000000092F920
UWORD 77 <SQL_DRIVER_ODBC_VER>
PTR 0x000000000092FF20
SWORD 40
SWORD * 0x000000000012D438
Pythonwin 1698-b94 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x000000000092F920
UWORD 77 <SQL_DRIVER_ODBC_VER>
PTR 0x000000000092FF20 [ 10] "03.51"
SWORD 40
SWORD * 0x000000000012D438 (10)
Pythonwin 1698-b94 ENTER SQLGetInfoW
HDBC 0x000000000092F920
UWORD 10002 <SQL_DESCRIBE_PARAMETER>
PTR 0x00000000007CA3E0
SWORD 4
SWORD * 0x000000000012D438
Pythonwin 1698-b94 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x000000000092F920
UWORD 10002 <SQL_DESCRIBE_PARAMETER>
PTR 0x00000000007CA3E0 [ 2] "Y"
SWORD 4
SWORD * 0x000000000012D438 (2)
Pythonwin 1698-b94 ENTER SQLGetInfoW
HDBC 0x000000000092F920
UWORD 111 <SQL_NEED_LONG_DATA_LEN>
PTR 0x00000000007CA3E0
SWORD 4
SWORD * 0x000000000012D438
Pythonwin 1698-b94 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x000000000092F920
UWORD 111 <SQL_NEED_LONG_DATA_LEN>
PTR 0x00000000007CA3E0 [ 2] "N"
SWORD 4
SWORD * 0x000000000012D438 (2)
Pythonwin 1698-b94 ENTER SQLAllocHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000092F920
SQLHANDLE * 0x000000000012D3E0
Pythonwin 1698-b94 EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000092F920
SQLHANDLE * 0x000000000012D3E0 ( 0x00000000007CA7A0)
Pythonwin 1698-b94 ENTER SQLGetTypeInfo
HSTMT 0x00000000007CA7A0
SWORD 93 <SQL_TYPE_TIMESTAMP>
Pythonwin 1698-b94 EXIT SQLGetTypeInfo with return code 0 (SQL_SUCCESS)
HSTMT 0x00000000007CA7A0
SWORD 93 <SQL_TYPE_TIMESTAMP>
Pythonwin 1698-b94 ENTER SQLFetch
HSTMT 0x00000000007CA7A0
Pythonwin 1698-b94 EXIT SQLFetch with return code 0 (SQL_SUCCESS)
HSTMT 0x00000000007CA7A0
Pythonwin 1698-b94 ENTER SQLGetData
HSTMT 0x00000000007CA7A0
UWORD 3
SWORD 4 <SQL_C_LONG>
PTR
SQLLEN 4
SQLLEN * 0x0000000000000000
Pythonwin 16a4-bec ENTER SQLSetEnvAttr
SQLHENV 0x0000000000000000
SQLINTEGER 201 <SQL_ATTR_CONNECTION_POOLING>
SQLPOINTER 2 <SQL_CP_ONE_PER_HENV>
SQLINTEGER -5
Pythonwin 16a4-bec EXIT SQLSetEnvAttr with return code 0 (SQL_SUCCESS)
SQLHENV 0x0000000000000000
SQLINTEGER 201 <SQL_ATTR_CONNECTION_POOLING>
SQLPOINTER 2 <SQL_CP_ONE_PER_HENV>
SQLINTEGER -5
Pythonwin 16a4-bec ENTER SQLAllocHandle
SQLSMALLINT 1 <SQL_HANDLE_ENV>
SQLHANDLE 0x0000000000000000
SQLHANDLE * 0x0000000003E28A90
Pythonwin 16a4-bec EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 1 <SQL_HANDLE_ENV>
SQLHANDLE 0x0000000000000000
SQLHANDLE * 0x0000000003E28A90 ( 0x0000000000A1F850)
Pythonwin 16a4-bec ENTER SQLSetEnvAttr
SQLHENV 0x0000000000A1F850
SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
SQLPOINTER 3 <SQL_OV_ODBC3>
SQLINTEGER 0
Pythonwin 16a4-bec EXIT SQLSetEnvAttr with return code 0 (SQL_SUCCESS)
SQLHENV 0x0000000000A1F850
SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
SQLPOINTER 3 <SQL_OV_ODBC3>
SQLINTEGER 0
Pythonwin 16a4-bec ENTER SQLAllocHandle
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 0x0000000000A1F850
SQLHANDLE * 0x0000000003E28410
Pythonwin 16a4-bec EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 0x0000000000A1F850
SQLHANDLE * 0x0000000003E28410 ( 0x0000000000A1F920)
Pythonwin 16a4-bec ENTER SQLDriverConnectW
HDBC 0x0000000000A1F920
HWND 0x0000000000000000
WCHAR * 0x000007FEECC08F08 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x000007FEECC08F08
SWORD -3
SWORD * 0x0000000000000000
UWORD 0 <SQL_DRIVER_NOPROMPT>
Pythonwin 16a4-bec EXIT SQLDriverConnectW with return code 0 (SQL_SUCCESS)
HDBC 0x0000000000A1F920
HWND 0x0000000000000000
WCHAR * 0x000007FEECC08F08 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x000007FEECC08F08 <Invalid buffer length!> [-3]
SWORD -3
SWORD * 0x0000000000000000
UWORD 0 <SQL_DRIVER_NOPROMPT>
Pythonwin 16a4-bec ENTER SQLSetConnectAttr
SQLHDBC 0x0000000000A1F920
SQLINTEGER 102 <SQL_ATTR_AUTOCOMMIT>
SQLPOINTER 0 <SQL_AUTOCOMMIT_OFF>
SQLINTEGER -5
Pythonwin 16a4-bec EXIT SQLSetConnectAttr with return code 0 (SQL_SUCCESS)
SQLHDBC 0x0000000000A1F920
SQLINTEGER 102 <SQL_ATTR_AUTOCOMMIT>
SQLPOINTER 0 <SQL_AUTOCOMMIT_OFF>
SQLINTEGER -5
Pythonwin 16a4-bec ENTER SQLAllocHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003E28D90
Pythonwin 16a4-bec EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003E28D90 ( 0x000000000088A7A0)
Pythonwin 16a4-bec ENTER SQLGetTypeInfo
HSTMT 0x000000000088A7A0
SWORD 93 <SQL_TYPE_TIMESTAMP>
Pythonwin 16a4-bec EXIT SQLGetTypeInfo with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD 93 <SQL_TYPE_TIMESTAMP>
Pythonwin 16a4-bec ENTER SQLRowCount
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003E28E90
Pythonwin 16a4-bec EXIT SQLRowCount with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003E28E90 (1)
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003E45610
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003E45610 (19)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0 [ 9] "TYPE_NAME"
SWORD 1024
SWORD * 0x0000000003E28F90 (9)
SWORD * 0x0000000003E45110 (12)
SQLULEN * 0x0000000003E45210 (128)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 2
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 2
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 2
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2
UCHAR * 0x0000000002E2DAE0 [ 9] "DATA_TYPE"
SWORD 1024
SWORD * 0x0000000003E28F90 (9)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 3
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 3
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (11)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 3
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3
UCHAR * 0x0000000002E2DAE0 [ 11] "COLUMN_SIZE"
SWORD 1024
SWORD * 0x0000000003E28F90 (11)
SWORD * 0x0000000003E45110 (4)
SQLULEN * 0x0000000003E45210 (10)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 4
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 4
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 4
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 4
UCHAR * 0x0000000002E2DAE0 [ 14] "LITERAL_PREFIX"
SWORD 1024
SWORD * 0x0000000003E28F90 (14)
SWORD * 0x0000000003E45110 (12)
SQLULEN * 0x0000000003E45210 (128)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 5
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 5
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 5
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 5
UCHAR * 0x0000000002E2DAE0 [ 14] "LITERAL_SUFFIX"
SWORD 1024
SWORD * 0x0000000003E28F90 (14)
SWORD * 0x0000000003E45110 (12)
SQLULEN * 0x0000000003E45210 (128)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 6
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 6
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 6
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 6
UCHAR * 0x0000000002E2DAE0 [ 13] "CREATE_PARAMS"
SWORD 1024
SWORD * 0x0000000003E28F90 (13)
SWORD * 0x0000000003E45110 (12)
SQLULEN * 0x0000000003E45210 (128)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 7
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 7
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 7
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 7
UCHAR * 0x0000000002E2DAE0 [ 8] "NULLABLE"
SWORD 1024
SWORD * 0x0000000003E28F90 (8)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 8
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 8
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 8
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 8
UCHAR * 0x0000000002E2DAE0 [ 14] "CASE_SENSITIVE"
SWORD 1024
SWORD * 0x0000000003E28F90 (14)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 9
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 9
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 9
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 9
UCHAR * 0x0000000002E2DAE0 [ 10] "SEARCHABLE"
SWORD 1024
SWORD * 0x0000000003E28F90 (10)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 10
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 10
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 10
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 10
UCHAR * 0x0000000002E2DAE0 [ 18] "UNSIGNED_ATTRIBUTE"
SWORD 1024
SWORD * 0x0000000003E28F90 (18)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 11
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 11
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 11
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 11
UCHAR * 0x0000000002E2DAE0 [ 16] "FIXED_PREC_SCALE"
SWORD 1024
SWORD * 0x0000000003E28F90 (16)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 12
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 12
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 12
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 12
UCHAR * 0x0000000002E2DAE0 [ 17] "AUTO_UNIQUE_VALUE"
SWORD 1024
SWORD * 0x0000000003E28F90 (17)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 13
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 13
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 13
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 13
UCHAR * 0x0000000002E2DAE0 [ 15] "LOCAL_TYPE_NAME"
SWORD 1024
SWORD * 0x0000000003E28F90 (15)
SWORD * 0x0000000003E45110 (12)
SQLULEN * 0x0000000003E45210 (128)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 14
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 14
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 14
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 14
UCHAR * 0x0000000002E2DAE0 [ 13] "MINIMUM_SCALE"
SWORD 1024
SWORD * 0x0000000003E28F90 (13)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 15
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 15
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 15
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 15
UCHAR * 0x0000000002E2DAE0 [ 13] "MAXIMUM_SCALE"
SWORD 1024
SWORD * 0x0000000003E28F90 (13)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 16
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 16
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 16
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 16
UCHAR * 0x0000000002E2DAE0 [ 13] "SQL_DATA_TYPE"
SWORD 1024
SWORD * 0x0000000003E28F90 (13)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 17
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 17
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 17
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 17
UCHAR * 0x0000000002E2DAE0 [ 16] "SQL_DATETIME_SUB"
SWORD 1024
SWORD * 0x0000000003E28F90 (16)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 18
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 18
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (11)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 18
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 18
UCHAR * 0x0000000002E2DAE0 [ 14] "NUM_PREC_RADIX"
SWORD 1024
SWORD * 0x0000000003E28F90 (14)
SWORD * 0x0000000003E45110 (4)
SQLULEN * 0x0000000003E45210 (10)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 19
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710
SQLPOINTER 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 19
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003E45610
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003E45710 (0)
SQLPOINTER 0x0000000003E45310 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 19
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28F90
SWORD * 0x0000000003E45110
SQLULEN * 0x0000000003E45210
SWORD * 0x0000000003E45410
SWORD * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 19
UCHAR * 0x0000000002E2DAE0 [ 18] "INTERVAL_PRECISION"
SWORD 1024
SWORD * 0x0000000003E28F90 (18)
SWORD * 0x0000000003E45110 (5)
SQLULEN * 0x0000000003E45210 (5)
SWORD * 0x0000000003E45410 (0)
SWORD * 0x0000000003E45510 (1)
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003E45610
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003E45610 (19)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003E45710
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003E45710 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 2
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1E60
SQLLEN 73014444182
SQLLEN * 0x0000000003E45A10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1E60
SQLLEN 73014444182
SQLLEN * 0x0000000003E45A10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 3
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1F00
SQLLEN 73014444182
SQLLEN * 0x0000000003E48C90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1F00
SQLLEN 73014444182
SQLLEN * 0x0000000003E48C90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 4
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003DF7B60
SQLLEN 2048
SQLLEN * 0x0000000003F0A690
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 4
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003DF7B60
SQLLEN 2048
SQLLEN * 0x0000000003F0A690 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 5
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403CEF0
SQLLEN 2048
SQLLEN * 0x0000000003F0AD90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 5
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403CEF0
SQLLEN 2048
SQLLEN * 0x0000000003F0AD90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 6
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403D700
SQLLEN 2048
SQLLEN * 0x0000000003F0AF10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 6
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403D700
SQLLEN 2048
SQLLEN * 0x0000000003F0AF10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 7
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1FA0
SQLLEN 73014444182
SQLLEN * 0x0000000003F14190
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 7
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1FA0
SQLLEN 73014444182
SQLLEN * 0x0000000003F14190 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 8
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2040
SQLLEN 73014444182
SQLLEN * 0x0000000003F14390
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 8
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2040
SQLLEN 73014444182
SQLLEN * 0x0000000003F14390 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 9
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE20E0
SQLLEN 150
SQLLEN * 0x0000000003F14510
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 9
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE20E0
SQLLEN 150
SQLLEN * 0x0000000003F14510 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 10
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2180
SQLLEN 73014444182
SQLLEN * 0x0000000003F14690
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 10
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2180
SQLLEN 73014444182
SQLLEN * 0x0000000003F14690 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 11
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2220
SQLLEN 73014444182
SQLLEN * 0x0000000003F14C90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 11
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2220
SQLLEN 73014444182
SQLLEN * 0x0000000003F14C90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 12
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE22C0
SQLLEN 73014444182
SQLLEN * 0x0000000003F14D10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 12
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE22C0
SQLLEN 73014444182
SQLLEN * 0x0000000003F14D10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 13
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403DF10
SQLLEN 2048
SQLLEN * 0x0000000003F14E90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 13
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403DF10
SQLLEN 2048
SQLLEN * 0x0000000003F14E90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 14
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2360
SQLLEN 73014444182
SQLLEN * 0x0000000003F3BD90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 14
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2360
SQLLEN 73014444182
SQLLEN * 0x0000000003F3BD90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 15
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2400
SQLLEN 73014444182
SQLLEN * 0x0000000003F89810
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 15
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2400
SQLLEN 73014444182
SQLLEN * 0x0000000003F89810 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 16
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE24A0
SQLLEN 73014444182
SQLLEN * 0x0000000003F9CE10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 16
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE24A0
SQLLEN 73014444182
SQLLEN * 0x0000000003F9CE10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 17
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2540
SQLLEN 150
SQLLEN * 0x0000000003F9CF90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 17
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2540
SQLLEN 150
SQLLEN * 0x0000000003F9CF90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 18
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE25E0
SQLLEN 73014444182
SQLLEN * 0x0000000003FFA110
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 18
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE25E0
SQLLEN 73014444182
SQLLEN * 0x0000000003FFA110 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 19
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2680
SQLLEN 73014444182
SQLLEN * 0x0000000003FFA210
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 19
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2680
SQLLEN 73014444182
SQLLEN * 0x0000000003FFA210 (0)
Pythonwin 16a4-bec ENTER SQLFetch
HSTMT 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFetch with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec ENTER SQLFreeHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFreeHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec ENTER SQLAllocHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003E45510 ( 0x000000000088A7A0)
Pythonwin 16a4-bec ENTER SQLGetTypeInfo
HSTMT 0x000000000088A7A0
SWORD 91 <SQL_TYPE_DATE>
Pythonwin 16a4-bec EXIT SQLGetTypeInfo with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD 91 <SQL_TYPE_DATE>
Pythonwin 16a4-bec ENTER SQLRowCount
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003E48C90
Pythonwin 16a4-bec EXIT SQLRowCount with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003E48C90 (1)
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14190
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14190 (19)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0 [ 9] "TYPE_NAME"
SWORD 1024
SWORD * 0x0000000003F06810 (9)
SWORD * 0x0000000003F0A690 (12)
SQLULEN * 0x0000000003F0AD90 (128)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 2
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 2
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 2
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2
UCHAR * 0x0000000002E2DAE0 [ 9] "DATA_TYPE"
SWORD 1024
SWORD * 0x0000000003F06810 (9)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 3
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 3
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (11)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 3
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3
UCHAR * 0x0000000002E2DAE0 [ 11] "COLUMN_SIZE"
SWORD 1024
SWORD * 0x0000000003F06810 (11)
SWORD * 0x0000000003F0A690 (4)
SQLULEN * 0x0000000003F0AD90 (10)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 4
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 4
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 4
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 4
UCHAR * 0x0000000002E2DAE0 [ 14] "LITERAL_PREFIX"
SWORD 1024
SWORD * 0x0000000003F06810 (14)
SWORD * 0x0000000003F0A690 (12)
SQLULEN * 0x0000000003F0AD90 (128)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 5
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 5
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 5
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 5
UCHAR * 0x0000000002E2DAE0 [ 14] "LITERAL_SUFFIX"
SWORD 1024
SWORD * 0x0000000003F06810 (14)
SWORD * 0x0000000003F0A690 (12)
SQLULEN * 0x0000000003F0AD90 (128)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 6
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 6
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 6
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 6
UCHAR * 0x0000000002E2DAE0 [ 13] "CREATE_PARAMS"
SWORD 1024
SWORD * 0x0000000003F06810 (13)
SWORD * 0x0000000003F0A690 (12)
SQLULEN * 0x0000000003F0AD90 (128)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 7
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 7
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 7
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 7
UCHAR * 0x0000000002E2DAE0 [ 8] "NULLABLE"
SWORD 1024
SWORD * 0x0000000003F06810 (8)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 8
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 8
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 8
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 8
UCHAR * 0x0000000002E2DAE0 [ 14] "CASE_SENSITIVE"
SWORD 1024
SWORD * 0x0000000003F06810 (14)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 9
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 9
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 9
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 9
UCHAR * 0x0000000002E2DAE0 [ 10] "SEARCHABLE"
SWORD 1024
SWORD * 0x0000000003F06810 (10)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 10
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 10
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 10
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 10
UCHAR * 0x0000000002E2DAE0 [ 18] "UNSIGNED_ATTRIBUTE"
SWORD 1024
SWORD * 0x0000000003F06810 (18)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 11
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 11
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 11
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 11
UCHAR * 0x0000000002E2DAE0 [ 16] "FIXED_PREC_SCALE"
SWORD 1024
SWORD * 0x0000000003F06810 (16)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 12
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 12
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 12
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 12
UCHAR * 0x0000000002E2DAE0 [ 17] "AUTO_UNIQUE_VALUE"
SWORD 1024
SWORD * 0x0000000003F06810 (17)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 13
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 13
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 13
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 13
UCHAR * 0x0000000002E2DAE0 [ 15] "LOCAL_TYPE_NAME"
SWORD 1024
SWORD * 0x0000000003F06810 (15)
SWORD * 0x0000000003F0A690 (12)
SQLULEN * 0x0000000003F0AD90 (128)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 14
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 14
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 14
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 14
UCHAR * 0x0000000002E2DAE0 [ 13] "MINIMUM_SCALE"
SWORD 1024
SWORD * 0x0000000003F06810 (13)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 15
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 15
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 15
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 15
UCHAR * 0x0000000002E2DAE0 [ 13] "MAXIMUM_SCALE"
SWORD 1024
SWORD * 0x0000000003F06810 (13)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 16
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 16
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 16
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 16
UCHAR * 0x0000000002E2DAE0 [ 13] "SQL_DATA_TYPE"
SWORD 1024
SWORD * 0x0000000003F06810 (13)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 17
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 17
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 17
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 17
UCHAR * 0x0000000002E2DAE0 [ 16] "SQL_DATETIME_SUB"
SWORD 1024
SWORD * 0x0000000003F06810 (16)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 18
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 18
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (11)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 18
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 18
UCHAR * 0x0000000002E2DAE0 [ 14] "NUM_PREC_RADIX"
SWORD 1024
SWORD * 0x0000000003F06810 (14)
SWORD * 0x0000000003F0A690 (4)
SQLULEN * 0x0000000003F0AD90 (10)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 19
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090
SQLPOINTER 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 19
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14190
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14090 (0)
SQLPOINTER 0x0000000003F0A210 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 19
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F06810
SWORD * 0x0000000003F0A690
SQLULEN * 0x0000000003F0AD90
SWORD * 0x0000000003F0AF10
SWORD * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 19
UCHAR * 0x0000000002E2DAE0 [ 18] "INTERVAL_PRECISION"
SWORD 1024
SWORD * 0x0000000003F06810 (18)
SWORD * 0x0000000003F0A690 (5)
SQLULEN * 0x0000000003F0AD90 (5)
SWORD * 0x0000000003F0AF10 (0)
SWORD * 0x0000000003F0AE10 (1)
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14190
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14190 (19)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003F14090
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003F14090 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 2
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1F00
SQLLEN 141733920918
SQLLEN * 0x0000000003F14290
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1F00
SQLLEN 141733920918
SQLLEN * 0x0000000003F14290 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 3
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1FA0
SQLLEN 141733920918
SQLLEN * 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1FA0
SQLLEN 141733920918
SQLLEN * 0x0000000003F14410 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 4
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003DF7B60
SQLLEN 2048
SQLLEN * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 4
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003DF7B60
SQLLEN 2048
SQLLEN * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 5
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403CEF0
SQLLEN 2048
SQLLEN * 0x0000000003F14790
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 5
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403CEF0
SQLLEN 2048
SQLLEN * 0x0000000003F14790 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 6
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403D700
SQLLEN 2048
SQLLEN * 0x0000000003F14D90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 6
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403D700
SQLLEN 2048
SQLLEN * 0x0000000003F14D90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 7
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2040
SQLLEN 141733920918
SQLLEN * 0x0000000003F14E10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 7
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2040
SQLLEN 141733920918
SQLLEN * 0x0000000003F14E10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 8
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE20E0
SQLLEN 141733920918
SQLLEN * 0x0000000003F3BB10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 8
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE20E0
SQLLEN 141733920918
SQLLEN * 0x0000000003F3BB10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 9
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2180
SQLLEN 150
SQLLEN * 0x0000000003F89690
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 9
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2180
SQLLEN 150
SQLLEN * 0x0000000003F89690 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 10
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2220
SQLLEN 141733920918
SQLLEN * 0x0000000003F9CE10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 10
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2220
SQLLEN 141733920918
SQLLEN * 0x0000000003F9CE10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 11
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE22C0
SQLLEN 141733920918
SQLLEN * 0x0000000003F9CF10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 11
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE22C0
SQLLEN 141733920918
SQLLEN * 0x0000000003F9CF10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 12
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2360
SQLLEN 141733920918
SQLLEN * 0x0000000003E45610
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 12
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2360
SQLLEN 141733920918
SQLLEN * 0x0000000003E45610 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 13
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403DF10
SQLLEN 2048
SQLLEN * 0x0000000003E45810
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 13
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403DF10
SQLLEN 2048
SQLLEN * 0x0000000003E45810 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 14
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2400
SQLLEN 141733920918
SQLLEN * 0x0000000003E45410
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 14
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2400
SQLLEN 141733920918
SQLLEN * 0x0000000003E45410 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 15
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE24A0
SQLLEN 141733920918
SQLLEN * 0x0000000003E45210
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 15
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE24A0
SQLLEN 141733920918
SQLLEN * 0x0000000003E45210 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 16
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2540
SQLLEN 141733920918
SQLLEN * 0x0000000003E28D90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 16
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2540
SQLLEN 141733920918
SQLLEN * 0x0000000003E28D90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 17
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE25E0
SQLLEN 150
SQLLEN * 0x0000000003E28E90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 17
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE25E0
SQLLEN 150
SQLLEN * 0x0000000003E28E90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 18
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2680
SQLLEN 141733920918
SQLLEN * 0x0000000003FFD110
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 18
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2680
SQLLEN 141733920918
SQLLEN * 0x0000000003FFD110 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 19
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1DC0
SQLLEN 141733920918
SQLLEN * 0x0000000003FFD210
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 19
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1DC0
SQLLEN 141733920918
SQLLEN * 0x0000000003FFD210 (0)
Pythonwin 16a4-bec ENTER SQLFetch
HSTMT 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFetch with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec ENTER SQLFreeHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFreeHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec ENTER SQLAllocHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003F0AE10
Pythonwin 16a4-bec EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003F0AE10 ( 0x000000000088A7A0)
Pythonwin 16a4-bec ENTER SQLGetTypeInfo
HSTMT 0x000000000088A7A0
SWORD 92 <SQL_TYPE_TIME>
Pythonwin 16a4-bec EXIT SQLGetTypeInfo with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD 92 <SQL_TYPE_TIME>
Pythonwin 16a4-bec ENTER SQLRowCount
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003F14090
Pythonwin 16a4-bec EXIT SQLRowCount with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003F14090 (1)
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14690
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14690 (19)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0 [ 9] "TYPE_NAME"
SWORD 1024
SWORD * 0x0000000003F14190 (9)
SWORD * 0x0000000003F14290 (12)
SQLULEN * 0x0000000003F14390 (128)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 2
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 2
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 2
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2
UCHAR * 0x0000000002E2DAE0 [ 9] "DATA_TYPE"
SWORD 1024
SWORD * 0x0000000003F14190 (9)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 3
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 3
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (11)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 3
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3
UCHAR * 0x0000000002E2DAE0 [ 11] "COLUMN_SIZE"
SWORD 1024
SWORD * 0x0000000003F14190 (11)
SWORD * 0x0000000003F14290 (4)
SQLULEN * 0x0000000003F14390 (10)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 4
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 4
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 4
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 4
UCHAR * 0x0000000002E2DAE0 [ 14] "LITERAL_PREFIX"
SWORD 1024
SWORD * 0x0000000003F14190 (14)
SWORD * 0x0000000003F14290 (12)
SQLULEN * 0x0000000003F14390 (128)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 5
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 5
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 5
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 5
UCHAR * 0x0000000002E2DAE0 [ 14] "LITERAL_SUFFIX"
SWORD 1024
SWORD * 0x0000000003F14190 (14)
SWORD * 0x0000000003F14290 (12)
SQLULEN * 0x0000000003F14390 (128)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 6
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 6
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 6
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 6
UCHAR * 0x0000000002E2DAE0 [ 13] "CREATE_PARAMS"
SWORD 1024
SWORD * 0x0000000003F14190 (13)
SWORD * 0x0000000003F14290 (12)
SQLULEN * 0x0000000003F14390 (128)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 7
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 7
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 7
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 7
UCHAR * 0x0000000002E2DAE0 [ 8] "NULLABLE"
SWORD 1024
SWORD * 0x0000000003F14190 (8)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 8
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 8
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 8
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 8
UCHAR * 0x0000000002E2DAE0 [ 14] "CASE_SENSITIVE"
SWORD 1024
SWORD * 0x0000000003F14190 (14)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 9
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 9
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 9
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 9
UCHAR * 0x0000000002E2DAE0 [ 10] "SEARCHABLE"
SWORD 1024
SWORD * 0x0000000003F14190 (10)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 10
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 10
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 10
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 10
UCHAR * 0x0000000002E2DAE0 [ 18] "UNSIGNED_ATTRIBUTE"
SWORD 1024
SWORD * 0x0000000003F14190 (18)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 11
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 11
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 11
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 11
UCHAR * 0x0000000002E2DAE0 [ 16] "FIXED_PREC_SCALE"
SWORD 1024
SWORD * 0x0000000003F14190 (16)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 12
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 12
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 12
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 12
UCHAR * 0x0000000002E2DAE0 [ 17] "AUTO_UNIQUE_VALUE"
SWORD 1024
SWORD * 0x0000000003F14190 (17)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 13
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 13
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (128)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 13
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 13
UCHAR * 0x0000000002E2DAE0 [ 15] "LOCAL_TYPE_NAME"
SWORD 1024
SWORD * 0x0000000003F14190 (15)
SWORD * 0x0000000003F14290 (12)
SQLULEN * 0x0000000003F14390 (128)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 14
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 14
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 14
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 14
UCHAR * 0x0000000002E2DAE0 [ 13] "MINIMUM_SCALE"
SWORD 1024
SWORD * 0x0000000003F14190 (13)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 15
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 15
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 15
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 15
UCHAR * 0x0000000002E2DAE0 [ 13] "MAXIMUM_SCALE"
SWORD 1024
SWORD * 0x0000000003F14190 (13)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 16
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 16
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 16
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 16
UCHAR * 0x0000000002E2DAE0 [ 13] "SQL_DATA_TYPE"
SWORD 1024
SWORD * 0x0000000003F14190 (13)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (0)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 17
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 17
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 17
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 17
UCHAR * 0x0000000002E2DAE0 [ 16] "SQL_DATETIME_SUB"
SWORD 1024
SWORD * 0x0000000003F14190 (16)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 18
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 18
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (11)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 18
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 18
UCHAR * 0x0000000002E2DAE0 [ 14] "NUM_PREC_RADIX"
SWORD 1024
SWORD * 0x0000000003F14190 (14)
SWORD * 0x0000000003F14290 (4)
SQLULEN * 0x0000000003F14390 (10)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 19
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790
SQLPOINTER 0x0000000003F14410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 19
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F14690
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F14790 (0)
SQLPOINTER 0x0000000003F14410 (6)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 19
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003F14190
SWORD * 0x0000000003F14290
SQLULEN * 0x0000000003F14390
SWORD * 0x0000000003F14510
SWORD * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 19
UCHAR * 0x0000000002E2DAE0 [ 18] "INTERVAL_PRECISION"
SWORD 1024
SWORD * 0x0000000003F14190 (18)
SWORD * 0x0000000003F14290 (5)
SQLULEN * 0x0000000003F14390 (5)
SWORD * 0x0000000003F14510 (0)
SWORD * 0x0000000003F14610 (1)
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14690
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F14690 (19)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003F14790
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003F14790 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 2
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1FA0
SQLLEN 210453397654
SQLLEN * 0x0000000003F14D90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1FA0
SQLLEN 210453397654
SQLLEN * 0x0000000003F14D90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 3
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2040
SQLLEN 210453397654
SQLLEN * 0x0000000003F14E10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2040
SQLLEN 210453397654
SQLLEN * 0x0000000003F14E10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 4
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003DF7B60
SQLLEN 2048
SQLLEN * 0x0000000003F3BB10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 4
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003DF7B60
SQLLEN 2048
SQLLEN * 0x0000000003F3BB10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 5
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403CEF0
SQLLEN 2048
SQLLEN * 0x0000000003F89690
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 5
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403CEF0
SQLLEN 2048
SQLLEN * 0x0000000003F89690 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 6
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403D700
SQLLEN 2048
SQLLEN * 0x0000000003F89F90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 6
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403D700
SQLLEN 2048
SQLLEN * 0x0000000003F89F90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 7
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE20E0
SQLLEN 210453397654
SQLLEN * 0x0000000003F9CF10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 7
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE20E0
SQLLEN 210453397654
SQLLEN * 0x0000000003F9CF10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 8
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2180
SQLLEN 210453397654
SQLLEN * 0x0000000003E28D90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 8
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2180
SQLLEN 210453397654
SQLLEN * 0x0000000003E28D90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 9
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2220
SQLLEN 150
SQLLEN * 0x0000000003E28F90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 9
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2220
SQLLEN 150
SQLLEN * 0x0000000003E28F90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 10
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE22C0
SQLLEN 210453397654
SQLLEN * 0x0000000003E45710
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 10
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE22C0
SQLLEN 210453397654
SQLLEN * 0x0000000003E45710 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 11
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2360
SQLLEN 210453397654
SQLLEN * 0x0000000003E45A10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 11
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2360
SQLLEN 210453397654
SQLLEN * 0x0000000003E45A10 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 12
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2400
SQLLEN 210453397654
SQLLEN * 0x0000000003E45C90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 12
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2400
SQLLEN 210453397654
SQLLEN * 0x0000000003E45C90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 13
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403DF10
SQLLEN 2048
SQLLEN * 0x0000000003E45310
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 13
SWORD 1 <SQL_C_CHAR>
PTR 0x000000000403DF10
SQLLEN 2048
SQLLEN * 0x0000000003E45310 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 14
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE24A0
SQLLEN 210453397654
SQLLEN * 0x0000000003E45510
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 14
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE24A0
SQLLEN 210453397654
SQLLEN * 0x0000000003E45510 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 15
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2540
SQLLEN 210453397654
SQLLEN * 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 15
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2540
SQLLEN 210453397654
SQLLEN * 0x0000000003F0A210 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 16
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE25E0
SQLLEN 210453397654
SQLLEN * 0x0000000003F0A690
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 16
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE25E0
SQLLEN 210453397654
SQLLEN * 0x0000000003F0A690 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 17
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2680
SQLLEN 150
SQLLEN * 0x0000000003E48C90
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 17
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE2680
SQLLEN 150
SQLLEN * 0x0000000003E48C90 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 18
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1DC0
SQLLEN 210453397654
SQLLEN * 0x0000000003FFD090
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 18
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1DC0
SQLLEN 210453397654
SQLLEN * 0x0000000003FFD090 (0)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 19
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1E60
SQLLEN 210453397654
SQLLEN * 0x0000000003FFD190
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 19
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000002DE1E60
SQLLEN 210453397654
SQLLEN * 0x0000000003FFD190 (0)
Pythonwin 16a4-bec ENTER SQLFetch
HSTMT 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFetch with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec ENTER SQLFreeHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFreeHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec ENTER SQLAllocHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003F14610
Pythonwin 16a4-bec EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003F14610 ( 0x000000000088A7A0)
Pythonwin 16a4-bec ENTER SQLGetTypeInfo
HSTMT 0x000000000088A7A0
SWORD -154
Pythonwin 16a4-bec EXIT SQLGetTypeInfo with return code -1 (SQL_ERROR)
HSTMT 0x000000000088A7A0
SWORD -154
DIAG [00000] [IBM][System i Access ODBC Driver]SQL data type argument out of range. (30030)
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec ENTER SQLFreeHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFreeHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x000000000088A7A0
Pythonwin 16a4-bec ENTER SQLGetInfoW
HDBC 0x0000000000A1F920
UWORD 6 <SQL_DRIVER_NAME>
PTR 0x000000000315F4F0
SWORD 1000
SWORD * 0x0000000003F3BD90
Pythonwin 16a4-bec EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x0000000000A1F920
UWORD 6 <SQL_DRIVER_NAME>
PTR 0x000000000315F4F0 [ 22] "CWBODBC.DLL"
SWORD 1000
SWORD * 0x0000000003F3BD90 (22)
Pythonwin 16a4-bec ENTER SQLAllocHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003F3BD90
Pythonwin 16a4-bec EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 0x0000000000A1F920
SQLHANDLE * 0x0000000003F3BD90 ( 0x000000000088A7A0)
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 0 <SQL_CLOSE>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 3 <SQL_RESET_PARAMS>
Pythonwin 16a4-bec ENTER SQLExecDirect
HSTMT 0x000000000088A7A0
UCHAR * 0x0000000003E3AC10 [ 31] "select lname from irmpr.address"
SDWORD 31
Pythonwin 16a4-bec EXIT SQLExecDirect with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UCHAR * 0x0000000003E3AC10 [ 31] "select lname from irmpr.address"
SDWORD 31
Pythonwin 16a4-bec ENTER SQLRowCount
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003E48C90
Pythonwin 16a4-bec EXIT SQLRowCount with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SQLLEN * 0x0000000003E48C90 (-1)
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F0A210 (1)
Pythonwin 16a4-bec ENTER SQLColAttribute
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F0A210
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F0AF10
SQLPOINTER 0x0000000003E45410
Pythonwin 16a4-bec EXIT SQLColAttribute with return code 0 (SQL_SUCCESS)
SQLHSTMT 0x000000000088A7A0
SQLSMALLINT 1
SQLSMALLINT 6 <SQL_DESC_DISPLAY_SIZE>
SQLPOINTER 0x0000000003F0A210
SQLSMALLINT 10
SQLSMALLINT * 0x0000000003F0AF10 (0)
SQLPOINTER 0x0000000003E45410 (30)
Pythonwin 16a4-bec ENTER SQLDescribeCol
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0
SWORD 1024
SWORD * 0x0000000003E28C10
SWORD * 0x0000000003E28D90
SQLULEN * 0x0000000003E45610
SWORD * 0x0000000003E45510
SWORD * 0x0000000003F06810
Pythonwin 16a4-bec EXIT SQLDescribeCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
UCHAR * 0x0000000002E2DAE0 [ 5] "LNAME"
SWORD 1024
SWORD * 0x0000000003E28C10 (5)
SWORD * 0x0000000003E28D90 (1)
SQLULEN * 0x0000000003E45610 (30)
SWORD * 0x0000000003E45510 (0)
SWORD * 0x0000000003F06810 (1)
Pythonwin 16a4-bec ENTER SQLFreeStmt
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 2 <SQL_UNBIND>
Pythonwin 16a4-bec ENTER SQLNumResultCols
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F0A210
Pythonwin 16a4-bec EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
SWORD * 0x0000000003F0A210 (1)
Pythonwin 16a4-bec ENTER SQLBindCol
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003F0AF10
Pythonwin 16a4-bec EXIT SQLBindCol with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
UWORD 1
SWORD 1 <SQL_C_CHAR>
PTR 0x0000000003E04380
SQLLEN 2048
SQLLEN * 0x0000000003F0AF10 (0)
Pythonwin 16a4-bec ENTER SQLFetch
HSTMT 0x000000000088A7A0
Pythonwin 16a4-bec EXIT SQLFetch with return code 0 (SQL_SUCCESS)
HSTMT 0x000000000088A7A0
This may be something Django-specific but thought I'd ask here in addition to on the Django list.
On Ubuntu Server 14.04 64-bit, Python 3.4, and pyodbc 3.0.8 (which I believe is the only version that works with Python 3?), pyodbc installs fine, and works fine from a regular Python interpreter, but fails in a Django shell.
For example if I do python3 and then import pyodbc, no problems.
If, however, I do python3 manage.py shell and then import pyodbc, I get the following:
http://pastebin.com/cNDrmvcb
Any ideas? Thanks.
I was trying to build on mac os x 10.8, and it was working fine until it was trying to link the binary and it was complaining that it couldn't find "g++-4.2", i had to create a symlink named g++-4.2 -> g++
Corvidae:pyodbc markgrandi$ python3 setup.py install --user
running install
running bdist_egg
running egg_info
creating pyodbc.egg-info
writing dependency_links to pyodbc.egg-info/dependency_links.txt
writing pyodbc.egg-info/PKG-INFO
writing top-level names to pyodbc.egg-info/top_level.txt
writing manifest file 'pyodbc.egg-info/SOURCES.txt'
reading manifest file 'pyodbc.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'tests/*'
writing manifest file 'pyodbc.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.6-intel/egg
running install_lib
running build_ext
building 'pyodbc' extension
creating build
creating build/temp.macosx-10.6-intel-3.3
creating build/temp.macosx-10.6-intel-3.3/Users
creating build/temp.macosx-10.6-intel-3.3/Users/markgrandi
creating build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code
creating build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git
creating build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc
creating build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/buffer.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/buffer.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/cnxninfo.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/cnxninfo.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/connection.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/connection.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/cursor.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/cursor.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/errors.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/errors.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/getdata.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/getdata.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/params.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/params.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/pyodbccompat.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/pyodbccompat.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/pyodbcdbg.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/pyodbcdbg.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/pyodbcmodule.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/pyodbcmodule.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/row.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/row.o -Wno-write-strings -Wno-deprecated-declarations
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -arch i386 -arch x86_64 -DPYODBC_VERSION=3.0.7 -UMAC_OS_X_VERSION_10_7 -I/Library/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c /Users/markgrandi/Code/git/pyodbc/src/sqlwchar.cpp -o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/sqlwchar.o -Wno-write-strings -Wno-deprecated-declarations
creating build/lib.macosx-10.6-intel-3.3
g++-4.2 -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -g build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/buffer.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/cnxninfo.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/connection.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/cursor.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/errors.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/getdata.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/params.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/pyodbccompat.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/pyodbcdbg.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/pyodbcmodule.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/row.o build/temp.macosx-10.6-intel-3.3/Users/markgrandi/Code/git/pyodbc/src/sqlwchar.o -liodbc -o build/lib.macosx-10.6-intel-3.3/pyodbc.so
unable to execute g++-4.2: No such file or directory
error: command 'g++-4.2' failed with exit status 1
I'm on Mac OS 10.7.5, I've installed and configured freetds and unixodbc. I've used pip to install pyodbc (3.0.10). It should be using unixodbc by default, but when I try to connect to a db with the following piece of code on python2.7:
pyodbc.connect('DSN=DSN;UID=USER;PWD=PASS')
I get the following error:
"pyodbc.Error: ('IM002', '[IM002] [iODBC][Driver Manager]Data source name not found and no default driver specified. Driver could not be loaded (0) (SQLDriverConnect)')"
Looks like it's still trying to use iODBC.
I can connect to the db with isql using the same configuration.
C:\Windows\system32>pip install pyodbc
Collecting pyodbc
Downloading pyodbc-3.0.8.tar.gz (70kB)
100% |################################| 73kB 431kB/s
Installing collected packages: pyodbc
Running setup.py install for pyodbc
[...]
C:\Users\root\AppData\Local\Temp\pip-build-tf74nvw9\pyodbc\src\getdata.cpp(466) : error C2057: expected constant expression
C:\Users\root\AppData\Local\Temp\pip-build-tf74nvw9\pyodbc\src\getdata.cpp(466) : error C2466: cannot allocate an array of constant size 0
C:\Users\root\AppData\Local\Temp\pip-build-tf74nvw9\pyodbc\src\getdata.cpp(466) : error C2133: 'buffer' : unknown size
C:\Users\root\AppData\Local\Temp\pip-build-tf74nvw9\pyodbc\src\getdata.cpp(471) : error C2070: 'SQLWCHAR []': illegal sizeof operand
It seems like 48e6732 was the commit that introduced this problem. Declaring buffsize in GetDataDecimal as "const" should fix it, or eliminating buffsize and just comparing cbFetched to sizeof(buffer).
This script successfully connects to a SQL Server database using a login with a non-ASCII character in the password, but causes a UnicodeEncodeError
when garbage collecting the pyodbc connection (I assume) and crashes python:
#!/usr/bin/env python
# encoding: utf-8
from __future__ import unicode_literals, print_function
import gc
import sys
import pyodbc
# Please ensure these are valid parameters for your test SQL Server - if pyodbc
# cannot establish a connection then the bug seems to be avoided.
CONN_PARTS = {
'DRIVER': '{SQL Server}',
'Server': '.\\SQLEXPRESS',
'DATABASE': 'test_pyodbc',
'UID': 'test_pyodbc_unicode',
# PWD must contain Unicode that cannot be encoded as ASCII to invoke crash.
'PWD': 'pa££word',
}
CONN_STR = ";".join(key + '=' + val for key, val in CONN_PARTS.items())
def main():
print('python version:', sys.version)
print('pyodbc version:', pyodbc.version)
try:
print("Connecting", CONN_STR)
pyodbc.connect(CONN_STR)
print("Connected OK")
except Exception as err:
print("Failed to connect - is your connection string correct?")
print(err)
exit(1)
print('About to garbage collect')
gc.collect()
print('No crash - did you forget to use a Unicode PWD or fix the bug?')
exit(1)
if __name__ == "__main__":
main()
Output on my Windows 7 system, with the latest 3.0.10 release from pypi installed by pip from the wheel:
python version: 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)]
pyodbc version: 3.0.10
Connecting PWD=pa££word;DATABASE=test_pyodbc;DRIVER={SQL Server};UID=test_pyodbc_unicode;Server=.\SQLEXPRESS
Connected OK
About to garbage collect
Exception UnicodeEncodeError: UnicodeEncodeError('ascii', u'PWD=pa\xa3\xa3word;DATABASE=test_pyodbc;DRIVER={SQL Server};UID=test_pyodbc_unicode;Server=.\\SQLEXPRESS', 6, 8, 'ordinal not in range(128)') in 'garbage collection' ignored
Fatal Python error: unexpected exception during garbage collection
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
If we remove the 4 lines of explicit gc.collect
stuff at the end of main
and replace with a dummy loop:
for i in xrange(2):
print("Fake work", i)
print("Done")
Then python itself doesn't crash, but the UnicodeEncodeError
is raised when the loop finishes, before we print Done
:
python version: 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)]
pyodbc version: 3.0.10
Connecting PWD=pa££word;DATABASE=test_pyodbc;DRIVER={SQL Server};UID=test_pyodbc_unicode;Server=.\SQLEXPRESS
Connected OK
Fake work 0
Fake work 1
Traceback (most recent call last):
File "./pyodbc_crash.py", line 40, in <module>
main()
File "./pyodbc_crash.py", line 35, in main
for i in xrange(2):
UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-7: ordinal not in range(128)
I can also reproduce with the latest code from master built with python setup.py bdist_wininst
:
python version: 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)]
pyodbc version: 3.0.11b8
Connecting PWD=pa££word;DATABASE=test_pyodbc;DRIVER={SQL Server};UID=test_pyodbc_unicode;Server=.\SQLEXPRESS
Connected OK
Fake work 0
Fake work 1
Traceback (most recent call last):
File "c:\Users\day.barr\bromium-management-server\bin\python-script.py", line 66, in <module>
exec(compile(__file__f.read(), __file__, "exec"))
File "pyodbc_crash.py", line 40, in <module>
main()
File "pyodbc_crash.py", line 35, in main
for i in xrange(2):
UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-7: ordinal not in range(128)```
There seems to have been a regression in Unicode support in 3.0.10.
This might also be the actual cause of issue #47
import pyodbc
def pyodbc_test(db, query, username):
try:
curs = db.cursor()
curs.execute(query, (username, ))
return curs.fetchone()
except Exception, e:
return e
return None
db = pyodbc.connect("DSN=...")
print pyodbc_test(db, u"SELECT * FROM [Users] WHERE username = ?", u'foo')
print pyodbc_test(db, b"SELECT * FROM [Users] WHERE username = ?", u'foo')
print pyodbc_test(db, u"SELECT * FROM [Users] WHERE username = ?", b'foo')
print pyodbc_test(db, b"SELECT * FROM [Users] WHERE username = ?", b'foo')
db.close()
Version 3.0.10
('The SQL contains 0 parameter markers, but 1 parameters were supplied', 'HY000')
None
('The SQL contains 0 parameter markers, but 1 parameters were supplied', 'HY000')
(u'f\x00o\x00o\x00', u'M\x00r\x00.\x00 \x00F\x00o\x00o\x00')
Version 3.0.9 (and earlier)
(u'foo', u'Mr. Foo')
(u'foo', u'Mr. Foo')
(u'foo', u'Mr. Foo')
(u'foo', u'Mr. Foo')
Linking this issue to git.
https://code.google.com/p/pyodbc/issues/detail?id=125
Hi, I have a strange one, whereby I seem to be losing exceptions from MS SQL Server.
When I invoke a stored procedure, using the 'ProofOfPyodbcError.py' (attached), I receive exceptions up until I do some sort of Update DDL in the Stored Procedure.
Prior to the Insert/Update/Delete, I can receive exceptions.
The ProofOfPyodbcError.py script has hard coded Database connection string, so it will need to be tweaked if you wish to run it.
After the Insert/Update/Delete, it doesn't matter what I do, no exceptions are received by the python code.
The attached Proof_Of_Error_DDL.sql will establish a test table and stored procedure, although, the script does have a hard coded Database name in it.
The ODBC settings are done using C:\Windows\SysWOW64\odbcad32.exe to create a "System DSN", which is used in the Database connection string.
Am I simply doing something wrong with my Python code or is there something deeper?
I originally hit this whilst using SQLAlchemy but have narrowed it down to pyodbc.
Environment:
Windows 7 Microsoft Windows NT 6.1 (7601) 64 bit
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
pyodbc-3.0.10.-cp27-none-win32.whl
Microsoft SQL Server Enterprise (64-bit) 2012 (11.0.3128.0) Unclustered, stand alone on a development workstation
Suggestions more than welcomed!
DDL to create Stored Procedure and Table used by Stored Procedure.
use mssql_db_dev
drop table [dbo].[proof_of_error];
CREATE TABLE [dbo].[proof_of_error](
[col1] [int] NOT NULL,
[col2] [int] NOT NULL,
[col3] [smallint] NULL,
CONSTRAINT [PK_proof_of_error] PRIMARY KEY NONCLUSTERED
(
[col1] ASC,
[col2] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];
USE [mssql_db_dev]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE [dbo].[spProofOfError]
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[spProofOfError] @doDelete int = 0
AS
BEGIN
declare @anInteger int;
set @anInteger = 123;
--print '@doDelete = '+ cast(@doDelete as nvarchar)
if @doDelete = 1
BEGIN
BEGIN TRY
--delete nothing.
--print 'executing delete'
DELETE [proof_of_error]
WHERE col1 = 1 AND col2 = 1;
--print 'Execute delete completed.'
END TRY
BEGIN CATCH
--print 'Exception whilst executing delete'
set @anInteger = 'UNEXPECTED DELETE ERROR';
END CATCH;
END
ELSE
BEGIN
--print 'Did not Execute Delete'
set @anInteger = 'DID NOT EXECUTE DELETE';
END;
-- print 'exception regardless of which path taken'
set @anInteger = 'ERROR REGARDLESS OF PATH';
--print 'Returning @anInteger = '+cast(@anInteger as nvarchar)
return @anInteger
END
GO
Proof to show that SQL Server does raise exceptions when expected, using the execution mechanism as captured by SQL Trace.
use mssql_db_dev
declare @p1 int
BEGIN TRY
print 'Running Delete'
set @p1=NULL
exec sp_prepexec @p1 output,
N'@P1 int',
N'
declare @result int;
EXEC @result = spProofOfError @P1;
select @result as result;
',1;
END TRY
BEGIN CATCH
SELECT 'With Delete'
,ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
END CATCH;
BEGIN TRY
print 'Without running Delete'
set @p1=NULL
exec sp_prepexec @p1 output,
N'@P1 int',
N'
declare @result int;
EXEC @result = spProofOfError @P1;
select @result as result;
',
0;
END TRY
BEGIN CATCH
SELECT 'Without Delete'
,ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
END CATCH;
Python code using pyodbc to invoke the above stored procedure, expecting the same results as manually executing the stored proc in SQL Server Management Studio
from __future__ import print_function
import logging
logging.basicConfig(level=logging.DEBUG)
#Default logging, overridden by command line option right down the bottom of this file
logger = logging.getLogger("ProofOfError")
logger.setLevel(logging.DEBUG)
import pyodbc
print("pyodbc version = ", pyodbc.version)
logger.debug("Attempting connection to ***DEV WORKSTATION*** SQL Server for info (hard coded credentials for ODBC PFdb)")
db = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=mssql_db_dev;UID=db_user_dev;PWD=dev')
logger.debug("Connection succeeded")
executeStoredProcedureSQL = """
declare @result int;
EXEC @result = spProofOfError ?;
select @result as result;
"""
#executeStoredProcedureSQL = """select count(1)+1 from dbo.proof_of_error;"""
logger.debug("SQL = '%s'", executeStoredProcedureSQL)
try:
logger.info('\n\nRunning WITHOUT DELETE')
cursor = db.cursor()
cursor.execute(executeStoredProcedureSQL, (0,)) # zero does not run the DELETE
logger.debug("cursor.description = ", cursor.description)
if cursor.description:
row = cursor.fetchone()
if row:
logger.debug("column[0] = %s", repr(row[0]))
else:
logger.debug("no rows returned")
except Exception as ex:
logger.error("exception ignored - "+repr(ex))
finally:
if cursor:
cursor.close
else:
logger.debug("Cursor None")
try:
logger.info('\n\nRunning WITH DELETE')
cursor = db.cursor()
cursor.execute(executeStoredProcedureSQL, (1,)) # 1 runs the DELETE
logger.debug("cursor.description = %s", cursor.description)
if cursor.description:
row = cursor.fetchone()
if row:
logger.debug("column[0] = %s", repr(row[0]))
else:
logger.debug("no rows returned")
except Exception as ex:
logger.error("exception ignored - "+repr(ex))
finally:
if cursor:
cursor.close
else:
logger.debug("Cursor None")
Python context managers for connection objects are typically used like this:
with pyodbc.connect('mydsn') as cnxn:
do_stuff
Right now in pyodbc 3.0.10, that seems to be the equivalent of:
cnxn = pyodbc.connect('mydsn')
do_stuff
if not cnxn.autocommit:
cnxn.commit()
Could we re-visit this functionality because I do have some reservations about that behavior, especially when autocommit is off:
To elaborate on those points:
with file('/tmp/myfile', 'w') as f:
f.write('hello\n')
which is equivalent to:
f = file('/tmp/myfile', 'w')
try:
f.write('hello\n')
finally:
f.close()
From my perspective, the point of a context manager is to make sure the context object is cleaned up when the context exits (typically by closing the object). I'm surprised pyodbc leaves the connection open, to be closed only when it is deleted.
Following on from 1), my understanding is that contexts should be essentially self-contained, and they should tidy themselves up during the exit process. In this case, for me that includes rolling back transactions if any exception has occurred. Instead, pyodbc leaves that up to surrounding code. Bear in mind, explicit rolling back would not be needed if the connection was closed, the database would do this anyway.
Looking at other Python odbc managers, it appears I am going against the tide on this, but I still feel strongly that the context manager should never issue an implicit commit when autocommit is off.
http://cx-oracle.readthedocs.org/en/latest/connection.html#Connection.__exit__
https://docs.python.org/3.4/library/sqlite3.html#using-the-connection-as-a-context-manager
http://initd.org/psycopg/docs/connection.html#connection.commit
https://pythonhosted.org/oursql/api.html#cursor-context-manager
https://dev.mysql.com/doc/connector-python/en/index.html
http://sourceforge.net/p/adodbapi/code/ci/default/tree/adodbapi.py
My preference would be that the pyodbc connection context manager would be just like the file context manager and doing nothing more than the equivalent of this:
cnxn = pyodbc.connect('mydsn')
try:
do_stuff
finally:
cnxn.close()
I realize this would be a change in behavior, but right now, the connection context manager has behavior that makes it essentially unusable for me when I want to use a connection with autocommit off.
Finally, pretty much all of what I have said here is equally applicable to pyodbc cursor objects too.
Hi, can we have a 3.0.7. release on pypi please? It fixes some unicode errors together with mssql, freetds and unixodbc and would be nice if we could just pin the version to 3.0.7.
thanks in advance.
I cite:
Of course you can always extract the value by index:
count = cursor.execute("select count(*) from users").fetchone()[0] print('{} users'.format(row.user_count)
Should obviously be:
Of course you can always extract the value by index:
count = cursor.execute("select count(*) from users").fetchone()[0] print('{} users'.format(count)
on https://mkleehammer.github.io/pyodbc/ that page. I can't find where to file a pull request for it, so just leaving that here.
I know I commented on this issue back on google code, but never received a response. https://code.google.com/p/pyodbc/issues/detail?id=78
Basically it looks like it was "fixed" at some point, and then the patch reverted some time around 2014. I checked this new github repository, and the problematic line still appears to be there:
https://github.com/mkleehammer/pyodbc/blob/master/src/getdata.cpp#L319
You can glean plenty of details from that first link, but I'll quote some in case google code disappears some day:
What steps will reproduce the problem?
1 Setup odbc correctly.
2 Execute the following:
import pyodbc
database = pyodbc.connect('DSN=localhost')
cursor = database.cursor()
cursor.execute('SHOW CREATE TABLE mysql.users')
print cursor.fetchall()
cursor.close()
database.close()
2 Notice the output being in UTF-16 in memory format, containing something
like this:
[(u'\U00730075\U00720065', u'\U00520043\U00410045\U00450054\U00540020 ...
What is the expected output? What do you see instead?
Something readable in UTF-8, containing something like this:
...
`Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
`User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
...
What version of the product are you using? On what operating system?
pyodbc-2.1.5-2.fc11.i586
unixODBC-2.2.14-2.fc11.i586
mysql-5.1.37-1.fc11.i586
mysql-libs-5.1.37-1.fc11.i586
mysql-server-5.1.37-1.fc11.i586
mysql-connector-odbc-5.1.5r1144-4.fc11.i586
I've had the same issue, which only seems to happen on 64-bit machines.
Here's my setup:
ubuntu 10.4 64-bit
pyodbc-2.1.7
unixODBC-2.2.11-21
freeTDS-0.82
Server:
MS SQL Server 2008
I've traced the problem back to a call to SQLGetData in getdata.cpp. The function doesn't seem to handle unicode strings correcty on 64-bit systems. Specifying a charset in the pyodbc.connect() call doesn't fix it. I was able to fix it by mapping all unicode character types to SQL_C_CHAR, I'm attaching a diff of the fix.
Daniel Erickson
Concentric Sky, Inc.
www.concentricsky.com
Contents of patch:
diff --git a/src/getdata.cpp b/src/getdata.cpp
index a487ae3..660116b 100644
--- a/src/getdata.cpp
+++ b/src/getdata.cpp
@@ -262,7 +262,8 @@ GetDataString(Cursor* cur, int iCol)
case SQL_WCHAR:
case SQL_WVARCHAR:
case SQL_WLONGVARCHAR:
- nTargetType = SQL_C_WCHAR;
+ //nTargetType = SQL_C_WCHAR;
+ nTargetType = SQL_C_CHAR;
break;
default:
Running on
Python 2.7.8 (v2.7.8:ee879c0ffa11, Sep 3 2014, 17:02:16)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Connecting to PosgreSQL DB v 9.4 of form
create table m {
day DATE,
string VARCHAR,
volume NUMERIC(16,0)
}
Running isql using Postgres UNICODE driver returns correct values
$ isql database uid ps < echo "select * from m LIMIT 1;"
-----------------------------------------------------------------------+-------------------+
| day |string | volume |
| 2015-04-30| blah | 2029139 |
Using pyodbc
...
conn = pyodbc.connect(host)
query = "select * from m LIMIT 1;"
cursor= conn.cursor()
cursor.execute(query)
results = cursor.fetchone()
print results
conn.close()
outputs
(datetime.date(2015, 4, 30), 'blah', Decimal('2'))
With Teradata 14.00 64-bit ODBC using unixODBC (Linux 12.04) running pyodbc (3.11b8) integer values are incorrectly represented:
In [16]: cur.execute("select 1").fetchall()
Out[16]: [(140376711102465, )]
In [17]: cur.execute("select cast(1 as int)").fetchall()
Out[17]: [(140376711102465, )]
In order to work I need to cast the values manually to bigint:
In [18]: cur.execute("select cast(1 as bigint)").fetchall()
Out[18]: [(1L, )]
Verified this issue also exists in pyodbc
3.0.7 as well.
Per Teradata's docs a integer type is signed 4-byte (-2.147B - 2.147B) number. The value returned by pyodbc
appears to far larger than that though.
Problem appears similar to: #42
with pyodbc.connect(cs_sql) as conn:
pass
print conn
You will see that the connection is not closed.
No queryset pyodbc could be pickled so it cannot be cached in memcached... any tip or plan for that? Uncached orm performs dramatically slower in our project. Thanx
I'm trying to write a django-pyodbc-informix driver.
I have the following problem:
ipdb> self.cursor.execute("SELECT DBINFO('sqlca.sqlerrd1') FROM SYSTABLES")
*** UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 1: invalid start byte
Also:
cursor.execute("SELECT FIRST 1 'x' FROM SYSTABLES")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 1: invalid continuation byte
But:
ipdb> self.cursor.execute('SELECT FIRST 1 * FROM SYSTABLES')
<pyodbc.Cursor object at 0x7fb3a973bdb0>
So apparently the ' is giving problems. =(
any help would be greatly appreciated
I plan to submit a patch to fix support for intervals, particularly with a Vertica backend. Is there anything in particular I should read before submitting my patch? Perhaps regarding code style, licenses, etc?
I made a Google Groups post here but I am not sure if that is monitored much.
Hi
I want to connect to an oracle db on my linux machine but i don't know what should i put as driver in connection string?
I've tried:
connStr = "Driver={/usr/lib/oracle/product/11.2.0/xe/lib/libsqora.so.11.1};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=XE)));Uid=me;Pwd=mypass;"
And i got this error:
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/lib/oracle/product/11.2.0/xe/lib/libsqora.so.11.1' : file not found (0) (SQLDriverConnect)")
But the file is there:
$ ls -l /usr/lib/oracle/product/11.2.0/xe/lib/libsqora.so.11.1
-rwxr-xr-x 1 oracle dba 790904 Aug 29 2011 /usr/lib/oracle/product/11.2.0/xe/lib/libsqora.so.11.1
This is my odbcinst.ini file:
$ cat /etc/odbcinst.ini
[Oracle 11g ODBC driver]
Description = Oracle ODBC driver for Oracle 11g
Driver = /usr/lib/oracle/product/11.2.0/xe/lib/libsqora.so.11.1
Setup =
FileUsage =
CPTimeout =
CPReuse =
Please help me through this problem.
Thanks.
Hello, when building the source code on Solaris 10 (sparc) I get some errors related to inline functions. Any hint to fix this?
bash-3.2# uname -a
SunOS martin 5.10 Generic_147147-26 sun4v sparc sun4v
bash-3.2# CC -V
CC: Sun C++ 5.13 SunOS_sparc 2014/10/20
bash-3.2# python setup.py build
sh: git: not found
WARNING: git describe failed with: 256
WARNING: Unable to determine version. Using 3.0.0.0
running build
running build_ext
building 'pyodbc' extension
/usr/lib/python2.6/pycc -DNDEBUG -KPIC -DPYODBC_VERSION=3.0.0-unsupported -DPYODBC_UNICODE_WIDTH=2 -I/opt/DataAccess64/ODBC/dm/include -I/usr/include/python2.6 -c /tmp/pyodbc-master/src/buffer.cpp -o build/temp.solaris-2.10-sun4v-2.6/tmp/pyodbc-master/src/buffer.o -g0
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: "inline" is not allowed here.
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: DWORD is not defined.
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: grf is not defined.
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: Badly formed expression.
4 Error(s) detected.
error: command '/usr/lib/python2.6/pycc' failed with exit status 2
Environment:
I can connect to SQL Server fine, but when I try to execute a simple select statement:
conn = pyodbc.connect('... connection info ...')
cursor = conn.cursor()
cursor.execute('SELECT foo FROM bar')
I get this error:
http://pastebin.com/uyfj5qCq
This seems to be the same issue described when using Python 2.x here:
https://code.google.com/p/pyodbc/issues/detail?id=110
I'm still messing with it to try and figure out the encoding issue described in that older ticket, but thought I'd bring it up here in the mean time to see if there's any additional information that would be helpful.
Thanks!
I've tried multiple versions of pyodbc, i've been using 2.1.7 which don't have this problem, but i got problem with bigint field, so i decide to upgrade to most recent version of pyodbc, it has no problem with bigint now, but have this new problem.
exception:
pyodbc.Error: ('HY003', '[HY003] [FreeTDS][SQL Server]Program type out of range (0) (SQLGetData)')
python: 2.6
os: debian6 x86/64
sqlserver: 2005/64
unixODBC: 2.2.11
We are having issues with the latest pyodbc==3.08 on Ubuntu 12.04 and Python 2.7.
Decimal is working as expected:
Python 2.7.3 (default, Dec 18 2014, 19:10:20)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import decimal
>>>
KeyboardInterrupt
>>>
However, when running in a virtualenv with the latest pyodbc, decimal can no longer be imported:
Python 2.7.3 (default, Dec 18 2014, 19:10:20)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: Unable to import cdecimal or decimal
>>> import decimal
Segmentation fault
The relevant pyodbc compilation/installation:
pip install pyodbc==3.0.8
Downloading/unpacking pyodbc==3.0.8
Downloading pyodbc-3.0.8.tar.gz (70kB): 70kB downloaded
Running setup.py (path:/tmp/pyodbc-old/build/pyodbc/setup.py) egg_info for package pyodbc
warning: no files found matching 'tests/*'
Installing collected packages: pyodbc
Found existing installation: pyodbc 3.0.7
Uninstalling pyodbc:
Successfully uninstalled pyodbc
Running setup.py install for pyodbc
building 'pyodbc' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/pyodbcmodule.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/pyodbcmodule.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/errors.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/errors.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/row.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/row.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/sqlwchar.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/sqlwchar.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/buffer.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/buffer.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/connection.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/connection.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/pyodbccompat.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/pyodbccompat.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/getdata.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/getdata.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
/tmp/pyodbc-old/build/pyodbc/src/getdata.cpp: In function ‘PyObject* GetDataDecimal(Cursor*, Py_ssize_t)’:
/tmp/pyodbc-old/build/pyodbc/src/getdata.cpp:487:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/pyodbcdbg.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/pyodbcdbg.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/params.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/params.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/cursor.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/cursor.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPYODBC_VERSION=3.0.8 -DPYODBC_UNICODE_WIDTH=4 -DSQL_WCHART_CONVERT=1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -I/usr/include/python2.7 -c /tmp/pyodbc-old/build/pyodbc/src/cnxninfo.cpp -o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/cnxninfo.o -Wno-write-strings
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/pyodbcmodule.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/errors.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/row.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/sqlwchar.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/buffer.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/connection.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/pyodbccompat.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/getdata.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/pyodbcdbg.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/params.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/cursor.o build/temp.linux-x86_64-2.7/tmp/pyodbc-old/build/pyodbc/src/cnxninfo.o -lodbc -o build/lib.linux-x86_64-2.7/pyodbc.so
warning: no files found matching 'tests/*'
Successfully installed pyodbc
Cleaning up...
Hello, when building the source code on Solaris 10 (sparc) I get some errors related to inline functions. Any hint to fix this?
bash-3.2# uname -a
SunOS martin 5.10 Generic_147147-26 sun4v sparc sun4v
bash-3.2# CC -V
CC: Sun C++ 5.13 SunOS_sparc 2014/10/20
bash-3.2# python setup.py build
sh: git: not found
WARNING: git describe failed with: 256
WARNING: Unable to determine version. Using 3.0.0.0
running build
running build_ext
building 'pyodbc' extension
/usr/lib/python2.6/pycc -DNDEBUG -KPIC -DPYODBC_VERSION=3.0.0-unsupported -DPYODBC_UNICODE_WIDTH=2 -I/opt/DataAccess64/ODBC/dm/include -I/usr/include/python2.6 -c /tmp/pyodbc-master/src/buffer.cpp -o build/temp.solaris-2.10-sun4v-2.6/tmp/pyodbc-master/src/buffer.o -g0
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: "inline" is not allowed here.
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: DWORD is not defined.
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: grf is not defined.
"/tmp/pyodbc-master/src/pyodbc.h", line 69: Error: Badly formed expression.
4 Error(s) detected.
error: command '/usr/lib/python2.6/pycc' failed with exit status 2
Using pyodbc version 3.0.7 and 3.0.8-beta06 (latest from github) I get a bus error when trying to parse a decimal value returned from a bogus expression on iSeries (AS400).
For example this simple test segfaults every time:
print cur.execute("SELECT decimal('', 10, 2) FROM SYSIBM.SYSDUMMY1").fetchone()
It seems like SQLGetData() returns a bogus overflowed value in the cbFetched variable:
Program received signal SIGBUS, Bus error.
0x00007ffff560aca7 in GetDataDecimal (iCol=<optimized out>, cur=<optimized out>) at /home/jbq/pyodbc/src/getdata.cpp:486
486 if (buffer[i] == chDecimal)
(gdb) list
481
482 int cch = (int)(cbFetched / sizeof(SQLWCHAR));
483
484 for (int i = (cch - 1); i >= 0; i--)
485 {
486 if (buffer[i] == chDecimal)
487 {
488 // Must force it to use '.' since the Decimal class doesn't pay attention to the locale.
489 buffer[i] = '.';
490 }
(gdb) print cbFetched
$14 = 4294967295
Any help would be appreciated, as I haven't been able to figure out what's wrong. I'd be glad to provide more information if needed. I need this code to be working and willing to sponsor development if this could speedup resolution.
Thanks!
I am getting the following error when connecting to Vertica:
>>> res = cursor.execute("select version()")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pyodbc.ProgrammingError: ('42601', '[42601] ERROR 4856: Syntax error at or near "��������� (4856) (SQLExecDirectW)')
Wondering if this has been encountered before. Works on Python 2 on the same host so I doubt it's iODBC.
I'm using an iterator with fetchmany to stream a large result out as CSV:
class ODBCContext:
def __init__(self, odbc_connection_string):
self.conn_str = odbc_connection_string
def __enter__(self):
self.connection = pyodbc.connect(self.conn_str)
self.cursor = self.connection.cursor()
return self.cursor
def __exit__(self, error_type, error_value, traceback):
self.cursor.close()
self.connection.close()
def ResultIter(cursor, size=100):
i = 0
while True:
part = cursor.fetchmany(size)
i += len(part)
print "fetched:", i
if not part:
print "break"
break
yield part
def StreamingCSV(connection_string, query, header=None):
if header:
yield string.join([header],',') + '\n'
with ODBCContext(connection_string) as cursor:
cursor.execute(query)
for part in ResultIter(cursor):
for row in part:
line = string.join([str(r) for r in row],',') + '\n'
yield line
For a large query, I can only get 3641 rows out of ~4300 before fetchmany
throws a MemoryError.
I've tried a variety of array sizes, as well as fetchone
. The error is consistent.
I've also monitored memory usage for the process and I'm not entirely convinced there is a legitimate memory error: physical memory remains stable around 25 megs, virtual at 2.5 gb. At no point do I get any telltale signs of a machine running out of memory.
Any thoughts?
A select query of integer data returns incorrect results when I am running pyodbc 3.0.7 with python 2.7 on RHEL6 against a Sybase database. I do not experience this issue when running on 3.0.3
Here is a basic example of incorrect results for int data
import pyodbc
dbconn = pyodbc.connect("DSN=....")
c = dbconn.cursor()
c.execute("select 0, 1, 2")
print c.fetchone()
>> (210453397504, 210453397505, 210453397506)
All of the integers consistently add 2^32 * 2^7 (210453397504) to the correct value. This remains true until the value gets to 2^31 (2147483648), at which point results are correctly converted to type Long.
When I explicitly cast the data to numeric, it returns correctly:
c.execute("select cast(0 as numeric), cast(1 as numeric), cast(2 as numeric)")
print c.fetchone()
>> (Decimal('0'), Decimal('1'), Decimal('2'))
Likewise if I explicitly add a decimal to the values, it will return the correct values as Decimal instances
c.execute("select 0.0, 1.0, 2.0")
>> (Decimal('0'), Decimal('1'), Decimal('2'))
However when I try to cast the data as Ints, I get the same incorrect results as I do by default:
c.execute("select cast(0 as int), cast(1 as int), cast(2 as int)")
print c.fetchone()
>> (210453397504, 210453397505, 210453397506)
There are a couple other users that have experienced the same issue on code.google.com
https://code.google.com/p/pyodbc/issues/detail?id=360
I've tried installing as Me, Sudo and Sudo -H but getting the following error:
Command "/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-av0bnl1e/pyodbc/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-q3wvh5x7-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-build-av0bnl1e/pyodbc
I have it working for python2 , but python3 seems to be a bit sticky
Any help much appreciated :)
OMG THANK YOU! 👍
I'm trying to get odbc working with Informix (and python3.4 on linux 64bit).
With version 3.0.7 I got
('t\x00e\x00s\x00t\x00b\x00r\x00a\x00i\x00n\x00', 'i\x00n\x00f\x00o\x00r\x00m\x00i\x00x\x00', 's\x00p\x00', 's\x00p\x00_\x00n\x00r\x00', ...
for a cur.columns
.
And trying to run cursor.execute('...')
would throw the funniest charset-Informix-bugs.
Anyways. I just realized you had a github-repo, which is newer and it fixed all my problems.
nerdgasm
Do you have a paypal-link, so I can buy you a beer? :)
pyodbc 3.0.7 cannot be compiled with unixODBC support on 10.10
I fixed it by myself with
elif sys.platform == 'darwin':
# OS/X now ships with iODBC.
settings['libraries'].append('odbc')
but may be it's better to add some installation option or something else.
We are running with the iSeries Access for Linux driver to DB2 on AS/400. When pyodbc initializes chDecimal is set incorrectly to the Python locale's decimal separator rather than the locale of the database driver. In our environment the driver is apparently English (.) and Python Danish (,) which ends up converting the unicode decimal number incorrectly as the separator is ignored.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.