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:
00675676
Vues:
17
Check in the registry to see if it made the proper entries. Have you tried using the OLEDB provider outside of .NET?

>Just tried regsvr32 and it still doesn't work...
>
>>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