[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Back-sql, debugging



> Yes as I thought.
>
> But libiodbc is a driver manager like unixodbc, I don't know if it will
> change anything to change the driver manager, but I'll try.

Exactly, but using it fixed a couple of issues recently to other back-sql
users.  This doesn't by any means indicate that libiodbc is always better
than unixodbc, but it's worth giving it a try.

>
> Again thanks for help.

Sure. p.

>
> Goyman
> Pierangelo Masarati wrote:
>
>>>Hello,
>>>
>>>I use Sybase 12.5.1 with last last openldap with last unixodbc with
>>> last
>>> freetds driver.
>>>(with last I mean the stable release of 1.04.04)
>>>
>>>I don't know other free odbc driver to try.
>>
>>
>> libiodbc, for instance; that's what I'm using
>> (not last, though), and PostgreSQL.
>>
>> It definitely looks like an issue not related
>> to back-sql, unless an improper use of the ODBC
>> API can be clearly identified.  I don't see any,
>> but I'm not an ODBC expert.
>>
>> p.
>>
>>
>>>Regards and thanks for help
>>>
>>>Goyman
>>>
>>>  Pierangelo Masarati wrote:
>>>
>>>>I thinkl it's finally time that you tell us what version of OpenLDAP
>>>> software you're using, and what ODBC and what RDBMS, just for the
>>>> records.
>>>> I note that there's plenty of error messaging in back-sql; you get
>>>>none
>>>>because the ODBC is returning none to the client.  Apparently,
>>>>at_query is failing, but the ODBC can't tell why.  It logs this
>>>> obscure line,
>>>>
>>>>    IF @@TRANCOUNT > 0 ROLLBACK BEGIN TRANSACTION
>>>>
>>>>which looks like the ODBC issued a rollback, and the RDBMS didn't
>>>> like it.
>>>> I know some RDBMS need a commit/rollback before closing a
>>>>transaction,
>>>>even when only read operations were performed.  Others don't tolerate
>>>> it on read operations.  AFAIK back-sql does the rollback after reads,
>>>> but I don't see any between the oc_ and the at_ queries, so it might
>>>> be something internal to the ODBC.  I suggest you try another one.
>>>>
>>>>p.
>>>>
>>>>
>>>>
>>>>>Pierangelo Masarati wrote:
>>>>>
>>>>>
>>>>>>>Hello,
>>>>>>>
>>>>>>>thanks for the answer, but I was executing slapd with -d 1 since I
>>>>>>> begun
>>>>>>>to work with.
>>>>>>>
>>>>>>>There is a little thing I do not understand, I got this output
>>>>>>> from slapd:
>>>>>>>
>>>>>>>backsql_get_db_conn(): first call -- reading schema map
>>>>>>>==>backsql_load_schema_map()
>>>>>>>backsql_load_schema_map(): at_query 'SELECT
>>>>>>>name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expect_return
>>>>>>> FROM ldap_attr_mappings WHERE oc_map_id=?'
>>>>>>>backsql_load_schema_map(): objectClass 'organizationalUnit':
>>>>>>> keytbl='orgunit' keycol='id'
>>>>>>>expect_return: add=0, del=0; attributes:
>>>>>>>backsql_load_schema_map(): autoadding 'objectClass' and 'ref'
>>>>>>> mappings backsql_load_schema_map(): error executing at_query:
>>>>>>> Return code: -1
>>>>>>>==>backsql_free_db_conn()
>>>>>>>
>>>>>>>
>>>>>>>But where I do not understand is that the real sql executed in the
>>>>>>> db is:
>>>>>>>
>>>>>>>00:00000:00019:2004/04/11 17:59:34.75 server  TDS_LANG, spid 19:
>>>>>>> command
>>>>>>>text:
>>>>>>>set textsize 64512 use GAddress
>>>>>>>00:00000:00019:2004/04/11 17:59:34.76 server  TDS_LANG, spid 19:
>>>>>>> command
>>>>>>>text:
>>>>>>>BEGIN TRANSACTION
>>>>>>>00:00000:00019:2004/04/11 17:59:34.77 server  TDS_DYNP, spid 19:
>>>>>>> command
>>>>>>>text:
>>>>>>>create proc wlkz006000 as SELECT
>>>>>>>id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM
>>>>>>> ldap_oc_mappings
>>>>>>>00:00000:00019:2004/04/11 17:59:34.81 server  TDS_LANG, spid 19:
>>>>>>> command
>>>>>>>text:
>>>>>>>IF @@TRANCOUNT > 0 ROLLBACK BEGIN TRANSACTION
>>>>>>>
>>>>>>
>>>>>>
>>>>>>The query is above:
>>>>>>
>>>>>>SELECT
>>>>>>id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM
>>>>>> ldap_oc_mappings
>>>>>>
>>>>>>Do yu have ldap_oc_mappings?  Does it have the requested columns?
>>>>>> This output looks really obscure to me.  You may want to add a few
>>>>>> printf in back-sql before the queries are executed.
>>>>>>
>>>>>>p.
>>>>>>
>>>>>>
>>>>>
>>>>>Hello,
>>>>>
>>>>>this query work, the query that don't work, and that's not executed
>>>>> is the at_query (SELECT
>>>>>name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expect_return
>>>>>
>>>>> FROM ldap_attr_mappings WHERE oc_map_id=?).
>>>>>
>>>>>I checked the source code, and this error is printed if the
>>>>> execution of
>>>>>the query fail, but the query is not executed (as you can see in the
>>>>> sql  output).
>>>>>
>>>>>So I do not understand why.
>>>>>
>>>>>Regards
>>>>>
>>>>>Goyman
>>>>
>>>>
>>>>
>>
>>


-- 
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it