Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
Chris Withers wrote: M.-A. Lemburg wrote: Huh? I think you need to provide a little more information there... Sorry, I meant that the native Oracle interface is not DCOracle2, hinting that at the project I mentioned below. right, but DCOracle2 is *A* native oracle interface, right? No doubt about that :-) We're considering working on one of these. It is not clear yet whether we'd just hook up on one of the existing Oracle interfaces or invent our own. Tell me more :-) Nothing much to tell yet - we're currently busy with other products, but the above idea is in the queue. How will it be different to DCOracle2 and how far along with it are you? I have imminently in my stack fixing a number of DCOracle2 issues and getting a release or three out, and if I don't need to do that, I'd like to know now ;-) We won't have anything ready in the next three months; that much I can tell you. If you make DCOracle2 stable enough to use as low-level interface, we might even consider using DCOracle2 for the Zope DA, so we wouldn't want to hold you off on fixing issues in DCOracle2 :-) -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Apr 22 2005) Python/Zope Consulting and Support ...http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ...http://python.egenix.com/ ::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db
Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
On Apr 19, 2005, at 4:24 AM, Chris Withers wrote: Matthew T. Kromer wrote: Chris Withers's branch of DCOracle2 has some changes that help the connection pooling problem. And rumour has it I'm going to get some serious time to work on this soon! Matt, you up for fixing any C-level bugs that crawl out of the woodwork? Bugfixing, sure... :) You can also consider using e-Genix's mxODBC adapter. This is a no-go if your Oracle people go huh? ODBC? that's deprecated rubbish and you ain't using it ;-) cheers, Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db
Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
M.-A. Lemburg wrote: Would a native Oracle interface help ? Yeah, and that's what DCOracle2 is, right? Nope. Huh? I think you need to provide a little more information there... If you're telling me you have a real live decent quality native oracle interface, then I'm all ears :-) We're considering working on one of these. It is not clear yet whether we'd just hook up on one of the existing Oracle interfaces or invent our own. Tell me more :-) cheers, Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db
Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
M.-A. Lemburg wrote: Not sure why they think that ODBC is deprecated - Oracle is happily working on their ODBC driver and it's one of the best bets you can find out there: http://www.oracle.com/technology/software/tech/windows/odbc/index.html Interesting, but people here, even M$ people, haven't been using ODBC for years... Sadly, not in the slightest. For me, only normal oracle listeners will ever be available :-( Would a native Oracle interface help ? Yeah, and that's what DCOracle2 is, right? If you're telling me you have a real live decent quality native oracle interface, then I'm all ears :-) cheers, Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db
Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
Hi Cynthia, Cynthia Kiser wrote: When you do our own connection management, are you able to avoid DCOracle2 leaking connections? In our Zope 2.6.1/DCOracle2-1.3b server, we accumulate sessions where Oracle is waiting for a response from Zope, but Zope apparently thinks it closed that connection and opened a new one. If you google for my name, Oracle and Zope you'll find lots of information on the problem ;-) It's basically ZOracleDA's funny idea of connection pooling that causes the problem. Unless your ZSQL methods are hammered heavilly, you'll see plenty of unused oracle sessions. These aren't being leaked as you suggest, just not used very often. This results in Oracle Not Connected errors if your DBA sets a timeout on unused Oracle sessions... Manually closing and reopening the connection does not clean up the forgotten sessions, so I periodically (~monthly) restart the Zope server to clean up. Control Panel - Database - Main - Flush Cache will have the same effect... me with the impression that its connection closing function did not work. It doesn't ;-) cheers, Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db
Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
Matthew T. Kromer wrote: Chris Withers's branch of DCOracle2 has some changes that help the connection pooling problem. The issue basically is that the Zope adapter for DCOracle2 is fairly old and crusty. I think Jim's correct when he suggests doing your own pool management from a module. All that the DA is supposed to give you is a pool of connection objects and Zope transaction manager awareness. There's a little more to it than that, but the Zope DA is so old -- it derives from a product that predates Zope 2. It would probably be solved best by *jettisoning* Zope.Shared.RDBMS code, but... I don't actively maintain the code base any more (I haven't for about 18 months). It isn't totally abandoned, but I don't work with Oracle at work any more, and so I don't have much of an itch to scratch to fix problems. My home installs of Oracle have all gotten clobbered by entropy (read: re-installs of Linux to counter failed hardware). You can also consider using eGenix's mxODBC adapter. If you're on Windows, that's definitely worth a try. On Unix you'll need an ODBC driver for Oracle, e.g. the EasySoft one, since Oracle doesn't ship a driver with the database (even though they do on Windows and it would probably be easy for them to port it to Unix as well). On Apr 8, 2005, at 6:58 PM, Cynthia Kiser wrote: Quoting Jim Abramson [EMAIL PROTECTED]: In our experience we ended up needing to do increasingly complex things with plsql, and ultimately, we had no choice to move all our db access out into ExternalMethods or Products and use DCOracle2 directly. This does require constructing your own connection pool/management, but once you've built that you can leverage DCOracle2 directly in python and this provides much more flexibility. When you do our own connection management, are you able to avoid DCOracle2 leaking connections? In our Zope 2.6.1/DCOracle2-1.3b server, we accumulate sessions where Oracle is waiting for a response from Zope, but Zope apparently thinks it closed that connection and opened a new one. Manually closing and reopening the connection does not clean up the forgotten sessions, so I periodically (~monthly) restart the Zope server to clean up. Killing the Zope processes seems to finally signal Oracle (on a remote machine) that the client is no longer interested in those old open sessions. The smidge of testing I did with DCOracle2 from the command line left me with the impression that its connection closing function did not work. I could close a connection - and then still use it to talk to my database. I wasn't really sure enough of those tests to report this as a bug, but it is vaguely troubling. -- Cynthia Kiser ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Apr 13 2005) Python/Zope Consulting and Support ...http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ...http://python.egenix.com/ ::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db
Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
Chris Withers's branch of DCOracle2 has some changes that help the connection pooling problem. The issue basically is that the Zope adapter for DCOracle2 is fairly old and crusty. I think Jim's correct when he suggests doing your own pool management from a module. All that the DA is supposed to give you is a pool of connection objects and Zope transaction manager awareness. There's a little more to it than that, but the Zope DA is so old -- it derives from a product that predates Zope 2. It would probably be solved best by *jettisoning* Zope.Shared.RDBMS code, but... I don't actively maintain the code base any more (I haven't for about 18 months). It isn't totally abandoned, but I don't work with Oracle at work any more, and so I don't have much of an itch to scratch to fix problems. My home installs of Oracle have all gotten clobbered by entropy (read: re-installs of Linux to counter failed hardware). You can also consider using e-Genix's mxODBC adapter. On Apr 8, 2005, at 6:58 PM, Cynthia Kiser wrote: Quoting Jim Abramson [EMAIL PROTECTED]: In our experience we ended up needing to do increasingly complex things with plsql, and ultimately, we had no choice to move all our db access out into ExternalMethods or Products and use DCOracle2 directly. This does require constructing your own connection pool/management, but once you've built that you can leverage DCOracle2 directly in python and this provides much more flexibility. When you do our own connection management, are you able to avoid DCOracle2 leaking connections? In our Zope 2.6.1/DCOracle2-1.3b server, we accumulate sessions where Oracle is waiting for a response from Zope, but Zope apparently thinks it closed that connection and opened a new one. Manually closing and reopening the connection does not clean up the forgotten sessions, so I periodically (~monthly) restart the Zope server to clean up. Killing the Zope processes seems to finally signal Oracle (on a remote machine) that the client is no longer interested in those old open sessions. The smidge of testing I did with DCOracle2 from the command line left me with the impression that its connection closing function did not work. I could close a connection - and then still use it to talk to my database. I wasn't really sure enough of those tests to report this as a bug, but it is vaguely troubling. -- Cynthia Kiser ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db
Re: [Zope-DB] Returning values from Oracle function/procedure withZSQLMethod
Quoting Jim Abramson [EMAIL PROTECTED]: In our experience we ended up needing to do increasingly complex things with plsql, and ultimately, we had no choice to move all our db access out into ExternalMethods or Products and use DCOracle2 directly. This does require constructing your own connection pool/management, but once you've built that you can leverage DCOracle2 directly in python and this provides much more flexibility. When you do our own connection management, are you able to avoid DCOracle2 leaking connections? In our Zope 2.6.1/DCOracle2-1.3b server, we accumulate sessions where Oracle is waiting for a response from Zope, but Zope apparently thinks it closed that connection and opened a new one. Manually closing and reopening the connection does not clean up the forgotten sessions, so I periodically (~monthly) restart the Zope server to clean up. Killing the Zope processes seems to finally signal Oracle (on a remote machine) that the client is no longer interested in those old open sessions. The smidge of testing I did with DCOracle2 from the command line left me with the impression that its connection closing function did not work. I could close a connection - and then still use it to talk to my database. I wasn't really sure enough of those tests to report this as a bug, but it is vaguely troubling. -- Cynthia Kiser ___ Zope-DB mailing list Zope-DB@zope.org http://mail.zope.org/mailman/listinfo/zope-db