Menu

pyodbc / News: Recent posts

pyodbc has moved

pyodbc has moved to Google!

http://code.google.com/p/pyodbc

Posted by Michael Kleehammer 2008-11-26

Enabled Wiki

I just enabled the sourceforge wiki, so feel free to jump in.

Posted by Michael Kleehammer 2008-04-15

2.0.58 - Fixes (esp. MS Access) and Tests!

Lots of MS Access fixes which led to a general cleanup and lots of unittests. Please read the release notes for more detail.

Also fixed a locale() related bug that could corrupt memory!

64-bit build fixes

Posted by Michael Kleehammer 2008-04-15

2.0.55: Fixes & easy_install support

Fix: Fixed 'function sequence error' when executing SQL A with parameters, SQL B without
parameters, then SQL A with parameters again. Executing without parameters did not update
the prepared statement text, so pyodbc incorrectly 'thought' B was still prepared. The
2nd executable failed because the prepare would be skipped.

Major reworking of data retrieval after carefully examining bugs related to SQL Server and
Microsoft Access differences.... read more

Posted by Michael Kleehammer 2008-03-18

2.0.52: Stabilization

I expect this to be a major stabilization release. There have been far too many releases lately and I apologize.

All open bugs have been corrected, but I have not been able to get confirmation for all of them. (Some use drivers I don't have access to such as Lotus Notes.)

1867620: Header/source data type mismatches caused 64-bit build problems. (Hint: MSDN ODBC documentation has not been updated with the latest ODBC data types and signatures. Use the ODBC headers.)... read more

Posted by Michael Kleehammer 2008-01-24

2.0.45 - bug fix release

A bug fix release that will hopefully stabilize things a bit:
* 1871673 Subquery parameters work except for inserting None into a binary column.
* 1867620 64-bit build fix (again). I forgot to check-in the updated row.h before.
* 1822840 Fixed occasional 24000 error occuring when executing 2 statements in a row with certain parameter configurations.

Posted by Michael Kleehammer 2008-01-19

2.0.44: 64-bit Linux fixes!

Thanks to Mark Larsen for tracking down the 64-bit segfault and providing a test machine.

Updated ODBC data types to 64-bit compatible ones and fixed a bug calling Py_BuildValue.

Posted by Michael Kleehammer 2008-01-07

2.0.42 Released

Addressed Linux build issues and parameter binding problems.
Added datetime microsecond support for drivers that support it.

Posted by Michael Kleehammer 2008-01-04

2.0.39 released

Major changes include:

Fixes for decimal types, particularly with non-US locales and with Oracle.

Added Row.__repr__; printing a row looks just like a tuple. Also added slicing which returns a tuple: row[1:-3] --> tuple

Prepared SQL is reused, so executemany should be much faster.

If you had other bugs, please retest with this version and let us know how things work.

Posted by Michael Kleehammer 2007-10-26

2.0.38: Added function to obtain DSNs

Added pyodbc.dataSources which returns the available DSNs.

The results are returned as a dictionary mapping from DSN name to its description.

Posted by Michael Kleehammer 2007-08-13

2.0.37: nextset support + fixes and workarounds

Adds Cursor.nextset plus some fixes or workarounds for various reported bugs.

Posted by Michael Kleehammer 2007-08-08

2.0.36: int64 & MS Access fixes

1721588: MS Access memo fields now have the correct length (NULLs trimmed from end)

1707668: Overflow of int64 values on 32-bit builds.

Many thanks to users and bug reporters!

Posted by Michael Kleehammer 2007-05-24

2.0.35: Linux build and Row.cursor_description

Added Row.cursor_description which is the Cursor.description from the Cursor that created the Row. This provides convenient access to the metadata from rows without requiring the Cursor object to be passed around.

Fixed Linux builds using unixODBC. Tested with Fedora Core 6.

Posted by Michael Kleehammer 2007-03-31

2.0.33: autocommit and workaround

pyodbc now supports an optional autocommit mode for connections. See the documentation for the connect function and the Connection.autocommit attribute.

This release also has a slight internal change to work around "Invalid cursor state" problems on Windows 2003.

Posted by Michael Kleehammer 2007-02-01

2.0.30: Important fixes!

This version has 3 important fixes, so upgrade as soon as you can. See the release notes and forums for more details.

1) Connection pooling caused the MS SQL Server driver to autocommit - rollbacks were not possible.

2) Strings were not NULL terminated properly when drivers did not supply the terminator. Also, too much memory was used by strings read from the database (more than the size of the string).... read more

Posted by Michael Kleehammer 2006-10-31

2.0.29: Fixes binary column & NULL bug

Fixes bug 1575064: An error was raised when reading NULL from a binary column.

Posted by Michael Kleehammer 2006-10-11

Python 2.5 Port Ready

pyodbc version 2.0.28 is ready with precompiled versions for Python 2.4 and 2.5.

Posted by Michael Kleehammer 2006-10-01

SQLGetInfo

We have added Connection.getinfo which calls SQLGetInfo and returns the appropriate result (Boolean, string, or int/long). We will be updating the documentation shortly, but you can use help(pyodbc) to see a long list of constants you can pass it. Also see Microsoft's SQLGetInfo documentation.

Posted by Michael Kleehammer 2006-08-15

Linux/Unix/Posix support

This is the first version that officially supports Unix/Linux/OSX. Special thanks to Sam Clegg and Clark Rawlins for patches and patient testing.

Posted by Michael Kleehammer 2006-08-15

2.0.26: Memory Leak Fixed!

If you use pyodbc, you really must get r26. Previous versions leaked a small amount (17 bytes I think) for each row created. We apologize for the inconvenience.

Posted by Michael Kleehammer 2006-08-15

2.0.23: Two bugs fixed, not 100% backwards compatible

1) Result names in Cursor.description are no longer lowercased automatically (bug #1471819).

Automatic lowercasing was added to deal with inconsistent column names, but was not intended to be the default.

A global Boolean has been added, pyodbc.lowercase, which can be set to True to enable the previous behavior.

2) Cursor.rowcount is now set in execute() for INSERT, UPDATE, and DELETE statements (bug #1472431). It is still set to -1 for SELECT statements and all executemany() calls.

Posted by Michael Kleehammer 2006-04-21

2.0.21: Large binary (buffer) parameters fixed

Binary parameter support should now be solid. This fix solves the "HY104: Invalid precision value (0)" bug occuring with large binary objects.

Posted by Michael Kleehammer 2006-04-14

2.0.19: Binary (buffer) parameters fixed

Versions before 2.0.19 would truncate binary data (Python buffer objects) at the first zero byte as if they were NULL terminated strings.

Upgrade if you use BINARY, VARBINARY, image, ntext, etc.

Posted by Michael Kleehammer 2006-04-12

Decimal parameter support fixed

Version 2.0.18, now available, fixes support for using Python decimal.Decimal objects as parameters.

Posted by Michael Kleehammer 2006-04-03

Better docstrings and ODBC catalog functions

Release 2.0.16 fixes some problems with the docstrings that caused them to not display when used with pyodc help: help(pyodbc)

It also adds new ODBC catalog functions for retrieving tables and columns:

* Cursor.tables - SQLTables
* Cursor.columns - SQLColumns
* Cursor.statistics - SQLStatistics
* Cursor.rowIdColumns - SQLSpecialColumns(SQL_BEST_ROWID)
* Cursor.rowVerColumns - SQLSpecialColumns(SQL_ROWVER)
* Cursor.primaryKeys - SQLPrimaryKeys
* Cursor.foreignKeys - SQLForeignKeys
* Cursor.procedures - SQLProcedures
* Cursor.getTypeInfo - SQLGetTypeInfo... read more

Posted by Michael Kleehammer 2006-03-21
MongoDB Logo MongoDB