Обсуждение: "Recordset is read-only" with wine and unixodbc
I am trying to excute under wine an application (MFC VC6++) which works fine under Windows (XP,7...), using ODBC and window pgsqlodbc. I try to use it under unix pgsqlodbc and unixodbx (under debian jessie amd64). I hade some difficults to connect under i386 architecture but now it works fine, except when I try to modify a record of the table with a Crecordset. I get the a "Recordset is read only" message on an application that works fine under windows. I use for odbc.ini : [Mydatabase] Description=PostgreSQL Driver=PostgreSQL ANSI Trace=Yes TraceFile=/tmp/psqlodbc.log Database=mydatabase Servername=10.8.0.1 UserName=uuuu Password=pppp Port=5432 ReadOnly=No RowVersioning=No ShowSystemTables=No ShowOidColumn=No FakeOidIndex=No ConnSettings= Thank you for your help. I can modify the source of the application if it is needed. I have tried to use dynamic cursor but I got the result that it is not supported by the driver. PC
On 04/24/2014 02:12 AM, Pierre Couderc wrote: > I am trying to excute under wine an application (MFC VC6++) which works > fine under Windows (XP,7...), using ODBC and window pgsqlodbc. I try to > use it under unix pgsqlodbc and unixodbx (under debian jessie amd64). > I hade some difficults to connect under i386 architecture but now it > works fine, except when I try to modify a record of the table with a > Crecordset. > > I get the a "Recordset is read only" message on an application that > works fine under windows. > I use for odbc.ini : > > [Mydatabase] > Description=PostgreSQL > Driver=PostgreSQL ANSI > Trace=Yes > TraceFile=/tmp/psqlodbc.log > Database=mydatabase > Servername=10.8.0.1 > UserName=uuuu > Password=pppp > Port=5432 > ReadOnly=No > RowVersioning=No > ShowSystemTables=No > ShowOidColumn=No > FakeOidIndex=No > ConnSettings= Try setting: RowVersioning=Yes > > Thank you for your help. > I can modify the source of the application if it is needed. I have tried > to use dynamic cursor but I got the result that it is not supported by > the driver. > > PC > > -- Adrian Klaver adrian.klaver@aklaver.com
Thank you, but it changes nothing. On 04/24/2014 03:28 PM, Adrian Klaver wrote: > On 04/24/2014 02:12 AM, Pierre Couderc wrote: >> I am trying to excute under wine an application (MFC VC6++) which works >> fine under Windows (XP,7...), using ODBC and window pgsqlodbc. I try to >> use it under unix pgsqlodbc and unixodbx (under debian jessie amd64). >> I hade some difficults to connect under i386 architecture but now it >> works fine, except when I try to modify a record of the table with a >> Crecordset. >> >> I get the a "Recordset is read only" message on an application that >> works fine under windows. >> I use for odbc.ini : >> >> [Mydatabase] >> Description=PostgreSQL >> Driver=PostgreSQL ANSI >> Trace=Yes >> TraceFile=/tmp/psqlodbc.log >> Database=mydatabase >> Servername=10.8.0.1 >> UserName=uuuu >> Password=pppp >> Port=5432 >> ReadOnly=No >> RowVersioning=No >> ShowSystemTables=No >> ShowOidColumn=No >> FakeOidIndex=No >> ConnSettings= > > Try setting: > > RowVersioning=Yes > >> >> Thank you for your help. >> I can modify the source of the application if it is needed. I have tried >> to use dynamic cursor but I got the result that it is not supported by >> the driver. >> >> PC >> >> > >
On 04/24/2014 09:41 AM, Pierre Couderc wrote: > Thank you, but it changes nothing. Please do not top post. > > > On 04/24/2014 03:28 PM, Adrian Klaver wrote: >> On 04/24/2014 02:12 AM, Pierre Couderc wrote: >>> I am trying to excute under wine an application (MFC VC6++) which works >>> fine under Windows (XP,7...), using ODBC and window pgsqlodbc. I try to >>> use it under unix pgsqlodbc and unixodbx (under debian jessie amd64). >>> I hade some difficults to connect under i386 architecture but now it >>> works fine, except when I try to modify a record of the table with a >>> Crecordset. >>> >>> I get the a "Recordset is read only" message on an application that >>> works fine under windows. A little searching found this: http://support.microsoft.com/kb/109218/EN-US So are you using a dynaset which is updateble or a snapshot which is read only? Assuming you are using the exact same application in both cases and it is working in the Windows case with psqlodbc, would seem to rule out psqlodbc as the culprit. My suspicion would be an issue in Wine, it is after all an emulation layer. >>> I use for odbc.ini : >>> >>> [Mydatabase] >>> Description=PostgreSQL >>> Driver=PostgreSQL ANSI >>> Trace=Yes >>> TraceFile=/tmp/psqlodbc.log >>> Database=mydatabase >>> Servername=10.8.0.1 >>> UserName=uuuu >>> Password=pppp >>> Port=5432 >>> ReadOnly=No >>> RowVersioning=No >>> ShowSystemTables=No >>> ShowOidColumn=No >>> FakeOidIndex=No >>> ConnSettings= >> >> Try setting: >> >> RowVersioning=Yes >> >>> >>> Thank you for your help. >>> I can modify the source of the application if it is needed. I have tried >>> to use dynamic cursor but I got the result that it is not supported by >>> the driver. >>> >>> PC >>> >>> >> >> > -- Adrian Klaver adrian.klaver@aklaver.com
On 04/25/2014 04:24 AM, Adrian Klaver wrote: > On 04/24/2014 09:41 AM, Pierre Couderc wrote: >> Thank you, but it changes nothing. > > Please do not top post. ok ;) > >> >> >> On 04/24/2014 03:28 PM, Adrian Klaver wrote: >>> On 04/24/2014 02:12 AM, Pierre Couderc wrote: >>>> I am trying to excute under wine an application (MFC VC6++) which >>>> works >>>> fine under Windows (XP,7...), using ODBC and window pgsqlodbc. I >>>> try to >>>> use it under unix pgsqlodbc and unixodbx (under debian jessie amd64). >>>> I hade some difficults to connect under i386 architecture but now it >>>> works fine, except when I try to modify a record of the table with a >>>> Crecordset. >>>> >>>> I get the a "Recordset is read only" message on an application that >>>> works fine under windows. > > > A little searching found this: > > http://support.microsoft.com/kb/109218/EN-US > > So are you using a dynaset which is updateble or a snapshot which is > read only? Sorry, I am not a specialist of DB, and I had no idea of dynaset or snapshot... I have checked and my conclusion is that I have always used, with many MFC program under various Windows, snapshot recordsets "writeable". The doc which apply is http://msdn.microsoft.com/en-us/library/1hkkwdf0.aspx > > Assuming you are using the exact same application in both cases and it > is working in the Windows case with psqlodbc, would seem to rule out > psqlodbc as the culprit. My suspicion would be an issue in Wine, it is > after all an emulation layer. > Yes, it is the same application. Mmm, it is difficult to incriminate wine : the circuit is very simple : wine sees nothing, and transmits to ODBC layer : unixodbc, whch may be the problem. Moreover ay my konwledge, recordset is not a ODBC concept, it is specific to MS. I shall try dynaset now. Thank you for the idea. But I am surprised to be alone to have this problem.
On 04/25/2014 08:07 AM, Pierre Couderc wrote: > > On 04/25/2014 04:24 AM, Adrian Klaver wrote: >> On 04/24/2014 09:41 AM, Pierre Couderc wrote: >>> Thank you, but it changes nothing. >> >> Please do not top post. > ok ;) >> >>> >>> >>> On 04/24/2014 03:28 PM, Adrian Klaver wrote: >>>> On 04/24/2014 02:12 AM, Pierre Couderc wrote: >>>>> I am trying to excute under wine an application (MFC VC6++) which >>>>> works >>>>> fine under Windows (XP,7...), using ODBC and window pgsqlodbc. I >>>>> try to >>>>> use it under unix pgsqlodbc and unixodbx (under debian jessie >>>>> amd64). >>>>> I hade some difficults to connect under i386 architecture but now it >>>>> works fine, except when I try to modify a record of the table with a >>>>> Crecordset. >>>>> >>>>> I get the a "Recordset is read only" message on an application that >>>>> works fine under windows. >> >> >> A little searching found this: >> >> http://support.microsoft.com/kb/109218/EN-US >> >> So are you using a dynaset which is updateble or a snapshot which is >> read only? > Sorry, I am not a specialist of DB, and I had no idea of dynaset or > snapshot... > I have checked and my conclusion is that I have always used, with many > MFC program under various Windows, snapshot recordsets "writeable". > The doc which apply is > http://msdn.microsoft.com/en-us/library/1hkkwdf0.aspx > >> >> Assuming you are using the exact same application in both cases and >> it is working in the Windows case with psqlodbc, would seem to rule >> out psqlodbc as the culprit. My suspicion would be an issue in Wine, >> it is after all an emulation layer. >> > Yes, it is the same application. > Mmm, it is difficult to incriminate wine : the circuit is very simple > : wine sees nothing, and transmits to ODBC layer : unixodbc, whch may > be the problem. > Moreover ay my konwledge, recordset is not a ODBC concept, it is > specific to MS. > I shall try dynaset now. > Thank you for the idea. > But I am surprised to be alone to have this problem. > I have tried "dynaset", and it works ... Thank you for your help !
On 04/24/2014 11:07 PM, Pierre Couderc wrote: > > On 04/25/2014 04:24 AM, Adrian Klaver wrote: >> On 04/24/2014 09:41 AM, Pierre Couderc wrote: >> >> A little searching found this: >> >> http://support.microsoft.com/kb/109218/EN-US >> >> So are you using a dynaset which is updateble or a snapshot which is >> read only? > Sorry, I am not a specialist of DB, and I had no idea of dynaset or > snapshot... > I have checked and my conclusion is that I have always used, with many > MFC program under various Windows, snapshot recordsets "writeable". > The doc which apply is > http://msdn.microsoft.com/en-us/library/1hkkwdf0.aspx In the page is this link that explains the recordsets: http://msdn.microsoft.com/en-us/library/5sbfs6f1.aspx which in turn has the link below with information on testing whether a recordset is updateable: http://msdn.microsoft.com/en-us/library/z5139kz6.aspx >> > Yes, it is the same application. > Mmm, it is difficult to incriminate wine : the circuit is very simple : > wine sees nothing, and transmits to ODBC layer : unixodbc, whch may be > the problem. > Moreover ay my konwledge, recordset is not a ODBC concept, it is > specific to MS. And you are using MFC which is a MS product, which is why I figured that the problem lay there, not in psqlodbc. > I shall try dynaset now. > Thank you for the idea. > But I am surprised to be alone to have this problem. Happily, it did. > > > -- Adrian Klaver adrian.klaver@aklaver.com