Re: unixODBC SQLSEVER OUPUT issue

akm <[email protected]>
Newsgroups gmane.comp.python.egenix.user
Message-ID <[email protected]>
Hi,

I am getting the result when i change the parameter style to '%'  from '?'.
Any idea how to fix this ?

>>> from mx.ODBC import unixODBC
>>> db = unixODBC.DriverConnect('dsn=mydsn;uid=user;pwd=passwd', clear_auto_commit = 1)
>>> conn = db.cursor()
>>> query_insert1 = """INSERT INTO [table_name]
...                           (
...                           [description],
...                           [condition],
...                           [units],
...                           [entity_active],
...                           [crt_dt],
...                           [upd_dt],
...                           [user_idn])
...                           OUTPUT INSERTED.*
...                           VALUES(
...                           '%s',
...                           NULL,
...                           NULL,
...                           '%s',
...                           NULL,
...                           NULL,
...                           NULL)"""
>>> data = ('ERS', 'Y')
>>> conn.execute(query_insert1% data)
>>> print conn.fetchone()
(237.0, 'ERS', None, None, 'Y', None, None, None)
>>> conn.execute(query_insert1, data)
>>> print conn.fetchone()
None
>>> query_insert2 = """INSERT INTO [table_name]
...                           (
...                           [description],
...                           [condition],
...                           [units],
...                           [entity_active],
...                           [crt_dt],
...                           [upd_dt],
...                           [user_idn])
...                           OUTPUT INSERTED.*
...                           VALUES(
...                           ?,
...                           NULL,
...                           NULL,
...                           ?,
...                           NULL,
...                           NULL,
...                           NULL)"""
>>> conn.execute(query_insert2, data)
>>> print conn.fetchone()
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
mx.ODBC.Error.ProgrammingError: missing result set


On Mon, Apr 20, 2009 at 8:27 PM, M.-A. Lemburg <[email protected]> wrote:
> On 2009-04-20 15:26, akm wrote:
>> Hi  All,
>>
>> The query given below is supposed to return all columns from the table
>> 'table_name'  for the record with user '111'.
>> I am not getting any result from linux while excuting fetchone() , but
>> it works fine in windows.
>>
>> Can anyone give me a pointer why this occurs ?
>
> It's possible that MS SQL Server puts the output into a separate
> result set.
>
> You can use cursor.nextset() to jump to the next available result
> set.
>
>> #test.py
>> query = """update table_name
>>                           set upd_dt = getdate(),
>>                           user =222,
>>                 OUPUT INSERTED.*
>>                       where user =  111,
>>                """
>>
>> def connectToDataBase(connstr):
>>     if sys.platform == 'win32':
>>         from mx.ODBC import Windows
>>     db = Windows.DriverConnect(connstr, clear_auto_commit = 1)
>>         conn = db.cursor()
>>     else:
>>         from mx.ODBC import unixODBC
>>         db = unixODBC.DriverConnect(connstr, clear_auto_commit = 1)
>>         conn = db.cursor()
>>     conn.execute(result)
>>     print conn.fetchone()
>>
>> if __name__ == '__main__':
>>     print connectToDataBase('dsn=sb;uid=user;pwd=passwd')
>>
>>
>> Thanks,
>> Abdul Kader M
>>
>>
>> _______________________________________________________________________
>> eGenix.com User Mailing List                     http://www.egenix.com/
>> https://www.egenix.com/mailman/listinfo/egenix-users
>
> --
> Marc-Andre Lemburg
> eGenix.com
>
> Professional Python Services directly from the Source  (#1, Apr 20 2009)
>>>> 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 our new mxODBC.Connect Python Database Interface for free ! ::::
>
>
>   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
>    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
>           Registered at Amtsgericht Duesseldorf: HRB 46611
>               http://www.egenix.com/company/contact/
>


_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.