Обсуждение: "Recordset is read-only" with wine and unixodbc

Поиск
Список
Период
Сортировка

"Recordset is read-only" with wine and unixodbc

От
Pierre Couderc
Дата:
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


Re: "Recordset is read-only" with wine and unixodbc

От
Adrian Klaver
Дата:
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


Re: "Recordset is read-only" with wine and unixodbc

От
Pierre Couderc
Дата:
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
>>
>>
>
>



Re: "Recordset is read-only" with wine and unixodbc

От
Adrian Klaver
Дата:
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


Re: "Recordset is read-only" with wine and unixodbc

От
Pierre Couderc
Дата:
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.





Re: "Recordset is read-only" with wine and unixodbc

От
Pierre Couderc
Дата:
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 !


Re: "Recordset is read-only" with wine and unixodbc

От
Adrian Klaver
Дата:
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