Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Cannot connect to a DBF file via oleDbConnection
Message
Information générale
Forum:
ASP.NET
Catégorie:
ADO.NET
Divers
Thread ID:
00672175
Message ID:
00675648
Vues:
16
It sounds like the OLEDB provider is not registered correctly. Locate your VFPOLEDB.DLL file and register it with regsvr32. The installer may have had trouble installing it.

>I do not have this problem when running the Web Service below on a machine with VFP 7 installed.
>
>Do I have to do something special to register the VFP OLEDB Provider on a target machine that does not have VFP 7 installed?
>
>I applied VFP7SP1 and re-booted prior to generating an InstallShield installer with the VFP OLEDB Provider merge module.
>
>What am I doing wrong?
>
>>I have installed the VFP OleDB Provider and I can access a free DBF table after dragging the OleDbConnection and OleDbDataAdapter objects onto my C# WebService project design pannel and generate a DataSet.
>>
>>However, I cannot access the free table via a DataReader object.
>>
>>My WebService has the following code:
>>
>> [WebMethod]
>> public string GetLastPrefix()
>> {
>> string sqlString;
>> string lastPrefix;
>>
>> OleDbCommand sqlCmd = new OleDbCommand();
>>
>> sqlString = "SELECT cPrefix FROM bsreg";
>> sqlCmd.CommandType = CommandType.Text;
>> sqlCmd.CommandText = sqlString;
>> sqlCmd.Connection = xOleDbConn;
>>
>> // Init lastPrefix to ""
>> lastPrefix = "";
>>
>> xOleDbConn.Open();
>>
>> OleDbDataReader dr = sqlCmd.ExecuteReader();
>> if (dr.Read())
>> lastPrefix = dr[0].ToString();
>>
>> xOleDbConn.Close();
>>
>> return lastPrefix;
>> }
>>
>>And I get the following error when I invoke the WebService:
>>
>>System.InvalidOperationException: The 'VFPOLEDB.1' provider is not registered on the local machine. ---> System.Data.OleDb.OleDbException: No error information available: REGDB_E_CLASSNOTREG(0x80040154).
>> --- End of inner exception stack trace ---
>> at System.Data.OleDb.OleDbConnection.CreateProviderError(Int32 hr)
>> at System.Data.OleDb.OleDbConnection.CreateProvider()
>> at System.Data.OleDb.OleDbConnection.Open()
>> at wsBSSN.BSSN.GetLastPrefix() in d:\develop\net\bssn\wsbssn\bssn.asmx.cs:line 96
>>
>>
>>Line 96 points to: xOleDbConn.Open();
>>
>>I'm not getting any compile errors.
>>
>>Does the VFP OleDb Provider work with the DataReader object?
>>
>>
>>>You need to use the OLEDB provider that ships with VFP7 not ODBC. There are samples available about how to access VFP data using ADO.NET in the following whitepaper:
>>>
>>>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfoxgen7/html/usingaspnetwithvfp7.asp
-----------------------------------------

Cathi Gero, CPA
Prenia Software & Consulting Services
Microsoft C# / .NET MVP
Mere Mortals for .NET MVP
cgero@prenia.com
www.prenia.com
Weblog: blogs.prenia.com/cathi
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform