Hello all,
I dug this up here and I wish to know if it's still valid
*****
philhege (Programmer) 23 Nov 05 12:59
The bottom line, and I got this straight from the MS PSS horse's mouth last winter, is "we don't support data manipulation through the link server and VFPOLEDB." Select, yes; I/U/D no.
*****
I have never dealt with fox pro before and have found myself thrown in the abyss so here we go...
Provider is VFPOLEDB 9.0.00.5815 and sp_enum_oledb_providers indicates VFPOLEDB is available to sql2005
I can't modify vfp dbf files using win2003/sql 2005 (x86) linked server and vfpoledb provider, but i can select with no problems.
Successful queries through Sql SMS
(4 part) Select * from vfpoledb...mydbf where [criteria]
or
Select * from openquery(vfpoledb, 'select * from mydbf')
also
successfully imported dbf tables via SSIS
this indicates to me that data source path is ok. SQL user is sa, windows user is administrator. SQL 2005 and dbf's are on same machine. Allow in process in provider is True/Enabled
update vfpoledb...mydbf set price = 100 where id = 1
** msg 7333 - Cannot fetch row using bookmark from ole db... **
or
update openquery(vfpoledb, 'select * from mydbf') set price = 100 where id = 1
** msg 7301 - Cant obtain the required interface 'IID_IROWSETCHANGED' for ole db vfpoledb **
Within .NET
oldbVfp = new OleDbConnection(@"Provider=vfpoledb;Data Source=C:\DBFS;Collating Sequence=machine;");
I can update the dbf table successfully.. until the cows come home
ABOUT THE DBF's
There are only tables and no containers in directory. The dbf's come in 3 flavours
addr 0
0xF5 FoxPro 2.x (or earlier) with memo
0x03 FoxBASE+/Dbase III plus, no memo
0x30 Visual FoxPro
the table i wish to deal with is F5 at address 0 so i gather it's old, it has 6 indexes all of which are regular type (no candidate types). What functions as a unique identifier is character datatype
I setup a linked server to the northwind.dbc that came with the provider which only allows select queries and returns the same aforementioned errors on updates. I have not tried insert,... um yes I have and I can, tho had problem with memo field.
Less than a week ago (when I still felt this was all a practical joke) i managed to update successfully using opendatasource or openrowset on a xp box and sql 2000 but i cant remember how i addressed the provider. It may of been using MSDASQL I dont have the setup anymore to test it. I Component checked 2003 and got MDAC 2.8 on win server 2003 SP2.
I sincerely want to know if this is possible (update dbfs via sql linked server). I have researched this to some extent, trawlling thru foxite, getting dizzy and destabilized from content 'sharing', actually finding someone who was working on the exact same problem before he disappeared. Will I dream of Cindy Winegarden?
Many thanks
I dug this up here and I wish to know if it's still valid
*****
philhege (Programmer) 23 Nov 05 12:59
The bottom line, and I got this straight from the MS PSS horse's mouth last winter, is "we don't support data manipulation through the link server and VFPOLEDB." Select, yes; I/U/D no.
*****
I have never dealt with fox pro before and have found myself thrown in the abyss so here we go...
Provider is VFPOLEDB 9.0.00.5815 and sp_enum_oledb_providers indicates VFPOLEDB is available to sql2005
I can't modify vfp dbf files using win2003/sql 2005 (x86) linked server and vfpoledb provider, but i can select with no problems.
Successful queries through Sql SMS
(4 part) Select * from vfpoledb...mydbf where [criteria]
or
Select * from openquery(vfpoledb, 'select * from mydbf')
also
successfully imported dbf tables via SSIS
this indicates to me that data source path is ok. SQL user is sa, windows user is administrator. SQL 2005 and dbf's are on same machine. Allow in process in provider is True/Enabled
update vfpoledb...mydbf set price = 100 where id = 1
** msg 7333 - Cannot fetch row using bookmark from ole db... **
or
update openquery(vfpoledb, 'select * from mydbf') set price = 100 where id = 1
** msg 7301 - Cant obtain the required interface 'IID_IROWSETCHANGED' for ole db vfpoledb **
Within .NET
oldbVfp = new OleDbConnection(@"Provider=vfpoledb;Data Source=C:\DBFS;Collating Sequence=machine;");
I can update the dbf table successfully.. until the cows come home
ABOUT THE DBF's
There are only tables and no containers in directory. The dbf's come in 3 flavours
addr 0
0xF5 FoxPro 2.x (or earlier) with memo
0x03 FoxBASE+/Dbase III plus, no memo
0x30 Visual FoxPro
the table i wish to deal with is F5 at address 0 so i gather it's old, it has 6 indexes all of which are regular type (no candidate types). What functions as a unique identifier is character datatype
I setup a linked server to the northwind.dbc that came with the provider which only allows select queries and returns the same aforementioned errors on updates. I have not tried insert,... um yes I have and I can, tho had problem with memo field.
Less than a week ago (when I still felt this was all a practical joke) i managed to update successfully using opendatasource or openrowset on a xp box and sql 2000 but i cant remember how i addressed the provider. It may of been using MSDASQL I dont have the setup anymore to test it. I Component checked 2003 and got MDAC 2.8 on win server 2003 SP2.
I sincerely want to know if this is possible (update dbfs via sql linked server). I have researched this to some extent, trawlling thru foxite, getting dizzy and destabilized from content 'sharing', actually finding someone who was working on the exact same problem before he disappeared. Will I dream of Cindy Winegarden?
Many thanks