[IronPython] Fwd: [DB-SIG] How can I reliably detect whether an SQL statement is a Query?

Lukas Cenovsky cenovsky at bakalari.cz
Wed Aug 11 20:17:47 CEST 2010


  He is probably talking about this:
http://weblogs.asp.net/davidfowler/archive/2010/08/02/introduction-to-microsoft-data-dll.aspx

 From reading the article, I don't think it is the way to go.

--
-- Lukas


On 11.8.2010 19:19, Vernon Cole wrote:
> Hank:
>  Never heard of it (before). A quick search of google and msdn only 
> tells me that LightSwitch is soon to be released in beta.  As a full 
> time college student (how did I get myself into this at the age of 
> 60?) I can get access to lots of free, new, and beta stuff.  Do you 
> have links?
> (send privately if need be.)
> --
> Vernon
>
> On Tue, Aug 10, 2010 at 12:49 PM, Hank Fay <hank at prosysplus.com 
> <mailto:hank at prosysplus.com>> wrote:
>
>     Hi Vernon,
>
>     have you looked at Microsoft.Data.Database, which comes with
>     LightSwitch?  I think it might have what you need in terms of
>     methods and properties.  It does require .Net 4.0.
>
>     Hank
>
>
>     On Tue, Aug 10, 2010 at 12:41 PM, Vernon Cole
>     <vernondcole at gmail.com <mailto:vernondcole at gmail.com>> wrote:
>
>         I am afraid Lukas is very correct.  (Thanks, you really saved
>         me a lot of debugging time.)
>
>         This will be an anti-announcement.  I got a version (2.4.1A1)
>         of adodbapi working (sort of) on ADO.NET <http://ADO.NET> and
>         splatted up against enough difficulties that I have shelved
>         the effort for the present time.  I have committed my efforts
>         to a new branch (named ado.net <http://ado.net>) on the
>         mercurial source tree at
>         http://sourceforge.net/projects/adodbapi/develop for anyone
>         who would like to take up the effort.  It might be worthwhile
>         to continue development on an SQL-server specific version,
>         especially if someone has MONO in mind.  Since I intended
>         adodbapi to be as universal as possible, I did not want to go
>         that direction.
>
>         The problems I found were:
>         1) Lukas was right -- only one datareader per connection.
>         Messes up cursor usage as per the api.
>         2) cursor.rowcount becomes useless for SELECTs.
>         3) Connection timeouts are only supported by adding text to
>         the connection strings -- which breaks JET.
>         4) The "internal size" for cursor.description[3] cannot be
>         retrieved.
>         5) fine control of cursor location and isolation level is lost.
>         6) MS documentation vaguely suggests that using ExecuteReader
>         for a command which returns no dataset is a bad idea, which
>         may mean that there is a problem with a stored procedure which
>         may not return a dataset.
>         7) MS documentation hints that schema results (which are
>         processed into cursor.description) may be incorrect unless a
>         "keyinfo" flag is passed to ExecuteReader, the use of which
>         will cause several possible side effects to the data retrieval.
>         8) Use of a datareader implies no recordset, so I have to
>         emulate a recordset within my SQLrows object.
>         9) ADO.NET <http://ADO.NET> still uses a COM interface
>         internally to communicate with ADO data adapters -- so what's
>         the point of not using COM directly in my code and keeping all
>         of the lost features?
>
>         So the COM implementation of adodbapi v2.4.0 will remain as
>         the official "latest and greatest" for IronPython.
>
>         Thanks for all the fish...
>         Vernon Cole
>
>
>         On Tue, Aug 3, 2010 at 2:17 PM, Lukas Cenovsky
>         <cenovsky at bakalari.cz <mailto:cenovsky at bakalari.cz>> wrote:
>
>             On 3.8.2010 1:24, Vernon Cole wrote:
>>             What are the consequences of using ExecuteReader() when
>>             there is
>>             nothing to read? If none, i.e. you get an empty set of
>>             results, then I
>>             would say to use that all the time, and don't bother to
>>             examine your
>>             SQL at all.
>>
>
>             I think ExecuteReader should work for everything. I use
>             only ExecuteReader in my private tool (but I do not use
>             stored procedures).
>
>             You will have a bigger problem with ADO.NET
>             <http://ADO.NET> than this. According to the Python dbapi
>             specification, you can have as many cursors per connection
>             as you want. You can have many cursors in ADO.NET
>             <http://ADO.NET> too, but you can have only one
>             SqlDataReader per connections which makes several cursors
>             per connection useless.
>
>             --
>             -- Lukas
>
>             _______________________________________________
>             Users mailing list
>             Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>             http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
>         _______________________________________________
>         Users mailing list
>         Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>         http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.ironpython.com <mailto:Users at lists.ironpython.com>
>     http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100811/e0b3c0dc/attachment.html>


More information about the Ironpython-users mailing list