From andy at nospam.com Tue Aug 5 10:52:35 2003 From: andy at nospam.com (Andy Sy) Date: Mon Aug 4 21:52:51 2003 Subject: [DB-SIG] will these existing API warts be gone in DB-API 3.0? Message-ID: <3F2F0DE3.40604@nospam.com> Upon my switch from kinterbasdb to MySQLdb, two warts of the Python DB-API immediately made themselves known. Different prepared statement syntax and non-standard ways of getting dictionary-indexed results throw a big monkey wrench into portability. This is most unPythonic. Are there plans to fix this in future versions of the DB-API spec? -- ========================================= Reply To: a n d y @ n e t f x p h . c o m From sf.lists at web.de Tue Aug 5 18:26:15 2003 From: sf.lists at web.de (Stefan Fleiter) Date: Tue Aug 5 11:26:49 2003 Subject: [DB-SIG] return value of fetchone (DBAPI 2.0) Message-ID: <3F2FCC97.10904@web.de> Hi! I had a discussion by private mail with Stuart Bishop about the return value of fetchone() of the DBAPI 2.0. In his UnitTest (http://zen.freezope.org/Software/DBAPI20TestSuite/) it is assumed, that 'cursor.fetchall should return an empty list if ' 'a select query returns no rows'. In http://www.python.org/peps/pep-0249.html, you can read in the paragraph specifying fetchone(): An Error (or subclass) exception is raised if the previous call to executeXXX() did not produce any result set or no call was issued yet. Mr. Bishop writes: > I'm pretty certain the existing implementation is correct. There > is a difference between returning no result set and an empty one. > So .fetchall() after .execute('update ...') may raise an exception, > but .fetchall() after .execute('select * from foo where 0 = 1') > returns an empty list. I think the pep does not state this and should really be more clear regarding this issue. One thing that comes to my mind now is, that with Oracle and the "returning clause" almost every statement, including updates can produce a result. Con someone please clarify on this? Thanks in advance, Stefan Fleiter From anthony at computronix.com Tue Aug 5 18:54:30 2003 From: anthony at computronix.com (Anthony Tuininga) Date: Tue Aug 5 13:54:31 2003 Subject: [DB-SIG] return value of fetchone (DBAPI 2.0) In-Reply-To: <3F2FCC97.10904@web.de> References: <3F2FCC97.10904@web.de> Message-ID: <1060106019.1091.12.camel@localhost.localdomain> On Tue, 2003-08-05 at 09:26, Stefan Fleiter wrote: > One thing that comes to my mind now is, that with Oracle and the > "returning clause" almost every statement, including updates can produce > a result. > > Con someone please clarify on this? The returning clause in Oracle does not actually specify a result set. You cannot "fetch" it. Rather, it is specifying an "array" which means that you need to use PL/SQL to make it work and you have to bind it, you don't "define" it (Oracle parlance for defining a variable into which data will be fetched). Hope that helps. > Thanks in advance, > Stefan Fleiter > > > _______________________________________________ > DB-SIG maillist - DB-SIG@python.org > http://mail.python.org/mailman/listinfo/db-sig -- Anthony Tuininga anthony@computronix.com Computronix Distinctive Software. Real People. Suite 200, 10216 - 124 Street NW Edmonton, AB, Canada T5N 4A3 Phone: (780) 454-3700 Fax: (780) 454-3838 http://www.computronix.com From mal at lemburg.com Tue Aug 5 21:20:21 2003 From: mal at lemburg.com (M.-A. Lemburg) Date: Tue Aug 5 14:20:53 2003 Subject: [DB-SIG] return value of fetchone (DBAPI 2.0) In-Reply-To: <3F2FCC97.10904@web.de> References: <3F2FCC97.10904@web.de> Message-ID: <3F2FF565.10408@lemburg.com> Stefan Fleiter wrote: > Hi! > > I had a discussion by private mail with Stuart Bishop about the > return value of fetchone() of the DBAPI 2.0. > > In his UnitTest (http://zen.freezope.org/Software/DBAPI20TestSuite/) > it is assumed, that > 'cursor.fetchall should return an empty list if ' > 'a select query returns no rows'. > > In http://www.python.org/peps/pep-0249.html, > you can read in the paragraph specifying fetchone(): > An Error (or subclass) exception is raised if the previous > call to executeXXX() did not produce any result set or no > call was issued yet. > > Mr. Bishop writes: > > I'm pretty certain the existing implementation is correct. There > > is a difference between returning no result set and an empty one. > > So .fetchall() after .execute('update ...') may raise an exception, > > but .fetchall() after .execute('select * from foo where 0 = 1') > > returns an empty list. > > I think the pep does not state this and should really be more clear > regarding this issue. > > One thing that comes to my mind now is, that with Oracle and the > "returning clause" almost every statement, including updates can produce > a result. > > Can someone please clarify on this? Not sure what you want clarified. Stuart is correct and the db-api spec. is clear on this as well. -- Marc-Andre Lemburg eGenix.com Professional Python Software directly from the Source (#1, Aug 05 2003) >>> Python/Zope Products & Consulting ... http://www.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ From daniel.dittmar at sap.com Wed Aug 6 17:14:51 2003 From: daniel.dittmar at sap.com (Dittmar, Daniel) Date: Wed Aug 6 10:15:38 2003 Subject: [DB-SIG] will these existing API warts be gone in DB-API 3.0? Message-ID: > Upon my switch from kinterbasdb to MySQLdb, two > warts of the Python DB-API immediately made themselves > known. Different prepared statement syntax and > non-standard ways of getting dictionary-indexed > results throw a big monkey wrench into portability. > > This is most unPythonic. Are there plans to fix > this in future versions of the DB-API spec? A change seems to be very unlikely. The topic of parameterstyles appears quite often, but no driver author volunteered to tokenize the SQL command to detect placeholders that are not native to the underlying database or library. There isn't even an agreement whether parameters are to be addressed by position or by name and whether parameters are passed via list/dictionary or varargs/keyword args. As with dictionary-index results, there are several libraries available and it is quite easy to use them as a filter to an existing cursor. So there is no need to make the DB API spec more complicated. Daniel -- Daniel Dittmar SAP DB, SAP Labs Berlin daniel.dittmar@sap.com http://www.sapdb.org/ From andy at nospam.com Thu Aug 7 09:44:29 2003 From: andy at nospam.com (Andy Sy) Date: Wed Aug 6 20:44:58 2003 Subject: [DB-SIG] will these existing API warts be gone in DB-API 3.0? In-Reply-To: References: Message-ID: <3F31A0ED.9080806@nospam.com> Dittmar, Daniel wrote: > As with dictionary-index results, there are several libraries > available and it is quite easy to use them as a filter to an > existing cursor. Can you point me to the libraries for such? (The ones for filtering to an existing cursor) -- ========================================= reply-to: a n d y @ n e t f x p h . c o m From andy at nospam.com Thu Aug 7 09:51:05 2003 From: andy at nospam.com (Andy Sy) Date: Wed Aug 6 20:51:20 2003 Subject: [DB-SIG] will these existing API warts be gone in DB-API 3.0? In-Reply-To: <3F2F0DE3.40604@nospam.com> References: <3F2F0DE3.40604@nospam.com> Message-ID: <3F31A279.8090204@nospam.com> Andy Sy wrote: > Upon my switch from kinterbasdb to MySQLdb, two > warts of the Python DB-API immediately made themselves > known. Different prepared statement syntax and > non-standard ways of getting dictionary-indexed > results throw a big monkey wrench into portability. > > This is most unPythonic. Are there plans to fix > this in future versions of the DB-API spec? > This old thread seems to answer my own questions pretty satisfactorily... http://mail.python.org/pipermail/db-sig/2000-November/001463.html -- ========================================= reply-to: a n d y @ n e t f x p h . c o m From liz_ga at hotmail.com Sun Aug 10 14:41:48 2003 From: liz_ga at hotmail.com (liz george) Date: Sun Aug 10 04:12:22 2003 Subject: [DB-SIG] python 2.3 and databses Message-ID: An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/db-sig/attachments/20030810/e15041c9/attachment.htm From matt at pollenation.net Sun Aug 10 09:52:28 2003 From: matt at pollenation.net (Matt Goodall) Date: Sun Aug 10 04:52:28 2003 Subject: [DB-SIG] python 2.3 and databses In-Reply-To: References: Message-ID: <1060505559.28784.606.camel@localhost> On Sun, 2003-08-10 at 09:11, liz george wrote: > Dear Sir, > I would like to know how i can connect to Oracle database > using the new version 2.3 of python. I dont find any appropriate code > in python 2.3 to connect to the database. Is there somethin that I > should download? I don't actually use Oracle much but there are a few DB-API adapters for Oracle listed here: http://www.python.org/topics/database/modules.html - Matt -- Matt Goodall, Pollenation Internet Ltd w: http://www.pollenation.net e: matt@pollenation.net From mal at lemburg.com Sun Aug 10 12:35:24 2003 From: mal at lemburg.com (M.-A. Lemburg) Date: Sun Aug 10 05:35:58 2003 Subject: [DB-SIG] python 2.3 and databses In-Reply-To: References: Message-ID: <3F3611DC.6060500@lemburg.com> liz george wrote: > Dear Sir, > I would like to know how i can connect to Oracle database using the new > version 2.3 of python. I dont find any appropriate code in python 2.3 to connect > to the database. Is there somethin that I should download? There a few Oracle adapters out there; not sure whether there are Python 2.3 binaries for these available. Another option is ODBC, for which we offer the mxODBC Python ODBC interface: http://www.egenix.com/ This is available for Python 2.3, 2.2, 2.1, 2.0 and 1.5.2 and works on Windows and Unix. -- Marc-Andre Lemburg eGenix.com Professional Python Software directly from the Source (#1, Aug 10 2003) >>> Python/Zope Products & Consulting ... http://www.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ From andy47 at halfcooked.com Sun Aug 10 12:36:27 2003 From: andy47 at halfcooked.com (Andy Todd) Date: Sun Aug 10 06:38:07 2003 Subject: [DB-SIG] python 2.3 and databses In-Reply-To: References: Message-ID: <3F36202B.1020700@halfcooked.com> liz george wrote: > Dear Sir, > I would like to know how i can connect to Oracle database using > the new version 2.3 of python. I dont find any appropriate code in > python 2.3 to connect to the database. Is there somethin that I should > download? > > thank you, > Eliza > There are two modules available for connecting to Oracle; - cx_Oracle from Computronix, which can be found at http://www.computronix.com/utilities.shtml#Oracle - DCOracle2, which can be found at http://www.zope.org/Members/matt/dco2 Both of these will work with Python 2.3 If you are using Windows and don't have access to a C compiler then you will need a binary version of the module. Currently only cx_Oracle ships a binary for Python 2.3 and that may be your best bet. Regards, Andy -- -------------------------------------------------------------------------------- From the desk of Andrew J Todd esq - http://www.halfcooked.com/ From mal at lemburg.com Tue Aug 12 15:21:50 2003 From: mal at lemburg.com (M.-A. Lemburg) Date: Tue Aug 12 08:23:30 2003 Subject: [DB-SIG] ANN: eGenix.com mxODBC Python Database Interface Version 2.0.6 Message-ID: <3F38DBDE.1000006@lemburg.com> ________________________________________________________________________ ANNOUNCING: eGenix.com mxODBC Database Interface for Python 1.5.2 - 2.3 Version 2.0.6 Full Source Python extension providing ODBC connectivity to Python applications on Windows, Unix abd Linux ________________________________________________________________________ WHAT IS IT ?: The mxODBC Database Interface allows users to connect from Python to just about any database on the market today, on Windows, Unix and Linux -- using just one interface to program against for all supported databases and platforms. This makes mxODBC the ideal basis for writing cross-platform database programs and utilities. mxODBC is included in the eGenix.com mx Commercial Extension Package for Python, the commercial part of the eGenix.com mx Extension Series, a collection of professional quality software tools which enhance Python's usability in many important areas such as ODBC database connectivity, fast text processing, date/time processing and web site programming. See http://www.egenix.com/ for details. ________________________________________________________________________ WHAT'S NEW ? The 2.0.6 version includes patches needed to compile the package for Python 2.3. Binaries are available for Python 1.5.2, 2.0, 2.1, 2.2 and 2.3 for Windows and Linux. ________________________________________________________________________ EGENIX.COM MX COMMERCIAL PACKAGE OVERVIEW: mxODBC - Generic ODBC 2.0-3.5 interface for Python mxODBC is an extension package that provides a Python Database API compliant interface to ODBC capable database drivers and managers. In addition to the capabilities provided through the standard DB API it also gives access to a rich set of catalog methods which allow you to scan the database for tables, procedures, etc. Furthermore, it uses the mxDateTime package for date/time value interfacing eliminating most of the problems these types normally introduce (other in/output formats are available too). mxODBC allows you to interface to more than one database from one process, making inter-database interfacing very flexible and reliable. The source version includes a varity of preconfigured setups for many commonly used databases such as MySQL, Oracle, Informix, Solid, SAP DB, Sybase ASA and ASE, DBMaker and many more. The precompiled versions for Windows and Linux include the interfaces to the standard ODBC manager on these platforms to allow for a more easily configurable setup. More details are available at: http://www.egenix.com/files/python/mxODBC.html ________________________________________________________________________ WHERE CAN I DOWNLOAD IT ? The download archives and instructions for installing the package can be found at: http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Packages IMPORTANT: In order to use the eGenix.com mx Commercial package you will first need to install the eGenix.com mx Base package which can be downloaded from the same location. ________________________________________________________________________ WHERE CAN I BUY LICENSES ? mxODBC is free for non-commercial use. Commercial users have to buy licenses for continued use after a 30-day evaluation period. Special licensing setups are available for commercial product developers. Please see http://www.egenix.com/files/python/eGenix-mx-Extensions.html#BuyLicenses for details or go directly to our secure online shop: http://shop.egenix.com/ ________________________________________________________________________ WHERE CAN I GET SUPPORT ? Commercial quality support for these packages is available from eGenix.com. Please see http://www.egenix.com/files/python/eGenix-mx-Extensions.html#Support for details about our support offerings. ________________________________________________________________________ Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Software directly from the Source (#1, Aug 12 2003) >>> Python/Zope Products & Consulting ... http://www.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ From coax at hackermail.com Sat Aug 16 20:46:11 2003 From: coax at hackermail.com (Ufuk ACAR) Date: Sat Aug 16 13:46:42 2003 Subject: [DB-SIG] Check www.playandwin.com Message-ID: <20030816174611.A94D9C362@srv.komogvind.dk> An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/db-sig/attachments/20030816/bb043746/attachment.htm From gbrunet at sempersoft.com Sun Aug 17 21:07:33 2003 From: gbrunet at sempersoft.com (Greg Brunet) Date: Sun Aug 17 21:29:08 2003 Subject: [DB-SIG] DSNless connections (w/ mxODBC or others) Message-ID: I DL'd Marc-Andre Lemburg's mxODBC package to test out connecting to my SQL Server (actually MSDE) databases. He gives an example of connecting to a database like this: >>> import mx.ODBC.Windows >>> db = mx.ODBC.iODBC.DriverConnect('DSN=database;UID=user;PWD=passwd') When coding in the MS world (using ADO & DO.NET), I've moved to DSN-less connection strings. One might look something like this: 'Provider=SQLOLEDB;Data Source=(local);Initial Catalog=myDB;User ID=myuser;Password=mypwd' Is it possible to have DSN-less connections using mxODBC (specifically on a Windows client & Windows server)? I'd like to be able to access a database without setting up a DSN first! Thanks, -- Greg From gbrunet at sempersoft.com Sun Aug 17 21:51:21 2003 From: gbrunet at sempersoft.com (Greg Brunet) Date: Sun Aug 17 23:34:34 2003 Subject: [DB-SIG] Re: DSNless connections (w/ mxODBC or others) References: Message-ID: Found something that works - don't know how efficient it is! This page: http://www.basic-ultradev.com/articles/dsnlesscoldfusion/index.asp gives examples for DSN-less connections to various data sources (in Cold Fusion - but it seems to work for me). Anyway, this is what worked: >>> db = mx.ODBC.Windows.DriverConnect('Driver={SQL Server};server=localhost;Database=VehSales;UID=myuser;PWD=mypwd;') NOTE: there's a space in 'Driver={SQL Server};...' -- Greg From mal at lemburg.com Mon Aug 18 11:07:48 2003 From: mal at lemburg.com (M.-A. Lemburg) Date: Mon Aug 18 04:08:28 2003 Subject: [DB-SIG] Re: DSNless connections (w/ mxODBC or others) In-Reply-To: References: Message-ID: <3F408954.9060604@lemburg.com> Greg Brunet wrote: > Found something that works - don't know how efficient it is! This page: > http://www.basic-ultradev.com/articles/dsnlesscoldfusion/index.asp gives > examples for DSN-less connections to various data sources (in Cold > Fusion - but it seems to work for me). Anyway, this is what worked: > > >>>>db = mx.ODBC.Windows.DriverConnect('Driver={SQL > > Server};server=localhost;Database=VehSales;UID=myuser;PWD=mypwd;') > > NOTE: there's a space in 'Driver={SQL Server};...' Here's the official documentation for this: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odch21dpr_3.asp (scroll down to the comments section). -- Marc-Andre Lemburg eGenix.com Professional Python Software directly from the Source (#1, Aug 18 2003) >>> Python/Zope Products & Consulting ... http://www.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2003-08-12: Released eGenix mx Extensions for Python 2.3 ::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! :::: From mal at lemburg.com Mon Aug 18 11:10:21 2003 From: mal at lemburg.com (M.-A. Lemburg) Date: Mon Aug 18 04:10:58 2003 Subject: [DB-SIG] Re: DSNless connections (w/ mxODBC or others) In-Reply-To: <3F408954.9060604@lemburg.com> References: <3F408954.9060604@lemburg.com> Message-ID: <3F4089ED.3070005@lemburg.com> M.-A. Lemburg wrote: > Greg Brunet wrote: > >> Found something that works - don't know how efficient it is! This page: >> http://www.basic-ultradev.com/articles/dsnlesscoldfusion/index.asp gives >> examples for DSN-less connections to various data sources (in Cold >> Fusion - but it seems to work for me). Anyway, this is what worked: >> >>>>> db = mx.ODBC.Windows.DriverConnect('Driver={SQL >> >> >> Server};server=localhost;Database=VehSales;UID=myuser;PWD=mypwd;') >> >> NOTE: there's a space in 'Driver={SQL Server};...' > > Here's the official documentation for this: > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odch21dpr_3.asp > > (scroll down to the comments section). ... and this is a list of all the keywords you can use with MS SQL Server in the connection string: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbcsql/od_odbc_d_4x4k.asp -- Marc-Andre Lemburg eGenix.com Professional Python Software directly from the Source (#1, Aug 18 2003) >>> Python/Zope Products & Consulting ... http://www.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2003-08-12: Released eGenix mx Extensions for Python 2.3 ::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! :::: From gbrunet at sempersoft.com Mon Aug 18 11:01:13 2003 From: gbrunet at sempersoft.com (Greg Brunet) Date: Mon Aug 18 11:01:23 2003 Subject: [DB-SIG] Re: Re: DSNless connections (w/ mxODBC or others) References: <3F408954.9060604@lemburg.com> <3F4089ED.3070005@lemburg.com> Message-ID: Thanks Marc-Andre: I probably won't be too adventurous in trying out all the various keywords. I was mostly just trying to get connected without creating a DSN. There had been one great resource that I can no longer find that had sample DSN-less connection strings for ADO, and they may have had some for ODBC as well. The link I mentioned also had samples for Access, dbASE, and other files which can be a neat way of getting to even more data formats with a single (mxODBC) toolkit. Thanks again for your work! -- Greg From adm-app at cgatepro-2.mail.virginia.edu Tue Aug 19 14:13:33 2003 From: adm-app at cgatepro-2.mail.virginia.edu (Office Of Undergraduate Admission) Date: Tue Aug 19 13:58:38 2003 Subject: [DB-SIG] Greetings from UVA Message-ID: Thanks for contacting UVA with a question about the online application. If your question is not about the online application, please redirect your inquiry to: undergradadmission@virginia.edu For admission information, please visit our Web site: http://www.virginia.edu/undergradadmission From ANTIGEN_EXCHANGESV02 at purchase.edu Tue Aug 19 22:59:23 2003 From: ANTIGEN_EXCHANGESV02 at purchase.edu (ANTIGEN_EXCHANGESV02) Date: Fri Aug 22 08:38:52 2003 Subject: [DB-SIG] Antigen Notification:Antigen found FILE FILTER= *.pif file Message-ID: Antigen for Exchange found your_details.pif matching FILE FILTER= *.pif file filter. The file is currently Purged. The message, "Re: Approved", was sent from db-sig@python.org and was discovered in IMC Queues\Inbound located at SUNY Purchase/TNT_LAN/EXCHANGESV02. From ANTIGEN_EXCHANGESV02 at purchase.edu Wed Aug 20 04:52:55 2003 From: ANTIGEN_EXCHANGESV02 at purchase.edu (ANTIGEN_EXCHANGESV02) Date: Fri Aug 22 08:49:48 2003 Subject: [DB-SIG] Antigen Notification:Antigen found FILE FILTER= *.scr file Message-ID: Antigen for Exchange found wicked_scr.scr matching FILE FILTER= *.scr file filter. The file is currently Purged. The message, "Thank you!", was sent from db-sig@python.org and was discovered in IMC Queues\Inbound located at SUNY Purchase/TNT_LAN/EXCHANGESV02. From noreply at cyberservicesllc.com Fri Aug 22 03:11:14 2003 From: noreply at cyberservicesllc.com (Kelly) Date: Fri Aug 22 09:25:36 2003 Subject: [DB-SIG] Your recent email Message-ID: Your message contained "See the attached file for details" in the body and was not delivered. From MAILER-DAEMON at cyberservicesllc.com Thu Aug 21 07:00:53 2003 From: MAILER-DAEMON at cyberservicesllc.com (Mail Error Handler) Date: Fri Aug 22 09:25:43 2003 Subject: [DB-SIG] Undeliverable Mail Returned to Sender Message-ID: <3F4498553F41AD3C@TUNA> *** This message was automatically generated by the MailMax Error Responder *** Sorry, your message from <> to could not be delivered. The specific error is: 421 mail.python.org: Too many concurrent SMTP connections; please try again later 15 attempts will be made to re-send your e-mail. Each attempt will be 1 hours apart. === The Original Message Follows === To: From: "Kelly" Date: Date: Thu, 21 Aug 2003 06:00:52 -0400 Subject: Your recent email === End Original Message === *** This message was automatically generated by the MailMax Error Responder *** From ANTIGEN_EXCHANGESV02 at purchase.edu Wed Aug 20 00:53:45 2003 From: ANTIGEN_EXCHANGESV02 at purchase.edu (ANTIGEN_EXCHANGESV02) Date: Fri Aug 22 11:16:51 2003 Subject: [DB-SIG] Antigen Notification:Antigen found FILE FILTER= *.pif file Message-ID: Antigen for Exchange found application.pif matching FILE FILTER= *.pif file filter. The file is currently Purged. The message, "Re: Re: My details", was sent from db-sig@python.org and was discovered in IMC Queues\Inbound located at SUNY Purchase/TNT_LAN/EXCHANGESV02. From anthony at computronix.com Sat Aug 23 12:35:25 2003 From: anthony at computronix.com (Anthony Tuininga) Date: Sat Aug 23 07:35:36 2003 Subject: [DB-SIG] cx_Oracle 3.1 Message-ID: <1061571764.22048.6.camel@localhost.localdomain> What is cx_Oracle? cx_Oracle is a Python extension module that allows access to Oracle and conforms to the Python database API 2.0 specifications with a few exceptions. Where do I get it? http://starship.python.net/crew/atuining http://www.computronix.com/utilities.shtml (it may be a few days before the second site is updated) What's new? 1) Added support for connecting with SYSDBA and SYSOPER access which is needed for connecting as sys in Oracle 9i. 2) Only check the dictionary size if the variable is not NULL; otherwise, an error takes place which is not caught or cleared; this eliminates a spurious "Objects/dictobject.c:1258: bad argument to internal function" in Python 2.3. 3) Add support for session pooling. This is only support for Oracle 9i but is amazingly fast -- about 100 times faster than connecting. 4) Add support for statement caching when pooling sessions, this reduces the parse time considerably. Unfortunately, the Oracle OCI does not allow this to be easily turned on for normal sessions. 5) Add method trim() on CLOB and BLOB variables for trimming the size. 6) Add support for externally identified users; to use this feature leave the username and password fields empty when connecting. 7) Add method cancel() on connection objects to cancel long running queries. Note that this only works on non-Windows platforms. 8) Add method callfunc() on cursor objects to allow calling a function without using an anonymous PL/SQL block. 9) Added documentation on objects that were not documented. At this point all objects, methods and constants in cx_Oracle have been documented. 10) Added support for timestamp columns in Oracle 9i. 11) Added module level method makedsn() which creates a data source name given the host, port and SID. 12) Added constant "buildtime" which is the time when the module was built as an additional means of identifying the build that is in use. 13) Binding a value that is incompatible to the previous value that was bound (data types do not match or array size is larger) will now result in a new bind taking place. This is more consistent with the DB API although it does imply a performance penalty when used. -- Anthony Tuininga anthony@computronix.com Computronix Distinctive Software. Real People. Suite 200, 10216 - 124 Street NW Edmonton, AB, Canada T5N 4A3 Phone: (780) 454-3700 Fax: (780) 454-3838 http://www.computronix.com From memberservices at corp.classmates.com Fri Aug 22 13:39:34 2003 From: memberservices at corp.classmates.com (Member Services) Date: Sat Aug 23 09:45:44 2003 Subject: [DB-SIG] Auto-Response Message-ID: <200308221939.h7MJdYe28579@mx01.classmates.com> Please note you have attempted to reply to an automated email address. If you need assistance, please visit our online help area at http://www.classmates.com/help Regards, Classmates.com Member Care