In my recent post, PyODBC for Linux, Windows and Mac OS X, Ben Rousch commented: "I've had better luck with pure-Python PyPyODBC than with PyODBC."
So I downloaded and tried out pypyodbc.
Features of pypyodbc (from its web page):
Design Goal: Small, Maintainable, Cross Platform, Compatible, Portable
Features
One pure Python script, runs on CPython / IronPython / PyPy , Python 3.3 / 2.4 / 2.5 / 2.6 / 2.7 , Win / Linux / Mac , 32 / 64 bit
Very similar usage as pyodbc ( can be seen like a re-implementation of pyodbc in pure Python )
Simple - the whole module is implemented in a single python script with less than 3000 lines
Built-in functions to create and compress Access MDB files on Windows
I first tried the simple test program given on the pypyodbc page, which just creates a new MS Access database using Python. It worked.
Then I added code to that test program to insert three rows to the table and then and then retrieve the rows from the database and print them.
Here is the code:
# test_ppo.py import pypyodbc pypyodbc.win_create_mdb('C:\\vr\\pypyodbc\\db2.mdb') connection_string = 'Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\vr\\pypyodbc\\db2.mdb' connection = pypyodbc.connect(connection_string) SQL = 'CREATE TABLE saleout (id COUNTER PRIMARY KEY,product_name VARCHAR(25));' connection.cursor().execute(SQL).commit() SQL = "INSERT INTO saleout values (1, 'apple');" connection.cursor().execute(SQL).commit() SQL = "INSERT INTO saleout values (2, 'banana');" connection.cursor().execute(SQL).commit() SQL = "INSERT INTO saleout values (3, 'orange');" connection.cursor().execute(SQL).commit() SQL = 'SELECT * FROM saleout;' cursor = connection.cursor().execute(SQL) for row in cursor: print rowAnd I got the expected output:
C:\vr\pypyodbc>python test_ppo.py (1, u'apple') (2, u'banana') (3, u'orange')- Vasudev Ram - Dancing Bison Enterprises
No comments:
Post a Comment