Home All Groups Group Topic Archive Search About

Opening a dbf file with .NET code

Author
11 Apr 2005 8:56 PM
genojoe
I have a simple dbf file with the name of OTHWAGE.dbf.  I can open it in
Visual Studio Server Explorer and see its fields and records by creating a
Data Connection.  When I copy the connection string and combine it with code
from VS Help, I end up with the following:

        Dim sConnection As String = "Provider=MSDASQL.1;
Persist Security Info=False;
Data Source=dBASE Files;
Extended Properties=""DSN=dBASE Files;DBQ=C:\Temp;
DefaultDir=c:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;
DriverId=533;MaxBufferSize=2048;
PageTimeout=5
;"";
Initial Catalog=C:\Temp"

        Dim mySelectQuery As String = "SELECT OTHWAGE.* FROM OTHWAGE"
        Dim myConnection As New System.Data.Odbc.OdbcConnection(sConnection)
        Dim myCommand As New System.Data.Odbc.OdbcCommand(mySelectQuery,
myConnection)
        myConnection.Open()
        Dim myReader As
System.Data.Odbc.OdbcDataReader = myCommand.ExecuteReader()
        While myReader.Read()
            Console.WriteLine(myReader.GetString(1))
        End While

For readability purposes, I added carriage returns to the connection string.
When I execute this code, I get a system error at the myConnection.Open()
line.  What I am I doing wrong with this simple code?

Author
11 Apr 2005 9:44 PM
Cindy Winegarden
Hi Joe,

First off, try the FoxPro and Visual FoxPro OLE DB data provider, available
from http://msdn.microsoft.com/vfoxpro/downloads/updates . For your
connection string use:

"Provider=VFPOLEDB.1;Data Source = C:\Temp;"

That's all you need for free tables. If you still have problems, post back.

--
Cindy Winegarden  MCSD, Microsoft Visual Foxpro MVP
cindy_winegar***@msn.com  www.cindywinegarden.com
Blog: http://spaces.msn.com/members/cindywinegarden


Show quoteHide quote
"genojoe" <geno***@discussions.microsoft.com> wrote in message
news:76E85ABF-126C-4D3C-8FA3-A99819194003@microsoft.com...
>I have a simple dbf file with the name of OTHWAGE.dbf.  I can open it in
> Visual Studio Server Explorer and see its fields and records by creating a
> Data Connection.  When I copy the connection string and combine it with
> code
> from VS Help, I end up with the following:
>
>        Dim sConnection As String = "Provider=MSDASQL.1;
> Persist Security Info=False;
> Data Source=dBASE Files;
> Extended Properties=""DSN=dBASE Files;DBQ=C:\Temp;
> DefaultDir=c:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;
> DriverId=533;MaxBufferSize=2048;
> PageTimeout=5
> ;"";
> Initial Catalog=C:\Temp"
>
>        Dim mySelectQuery As String = "SELECT OTHWAGE.* FROM OTHWAGE"
>        Dim myConnection As New
> System.Data.Odbc.OdbcConnection(sConnection)
>        Dim myCommand As New System.Data.Odbc.OdbcCommand(mySelectQuery,
> myConnection)
>        myConnection.Open()
>        Dim myReader As
> System.Data.Odbc.OdbcDataReader = myCommand.ExecuteReader()
>        While myReader.Read()
>            Console.WriteLine(myReader.GetString(1))
>        End While
>
> For readability purposes, I added carriage returns to the connection
> string.
> When I execute this code, I get a system error at the myConnection.Open()
> line.  What I am I doing wrong with this simple code?
Author
11 Apr 2005 10:29 PM
genojoe
I agree it should work.  This time I even began a new project (on same
computer).  One form, one button.  FoxPro provider worked great in the Server
Explorer.

I crash at last line of code shown below:

Dim sConnection As String = "Provider=VFPOLEDB.1;Data Source = C:\Temp;"
Dim mySelectQuery As String = "SELECT OTHWAGE.* FROM OTHWAGE"
Dim myConnection As New System.Data.Odbc.OdbcConnection(sConnection)
Dim myCommand As New System.Data.Odbc.OdbcCommand(mySelectQuery, myConnection)

myConnection.Open()

Error message is:
An unhandled exception of type 'System.Data.Odbc.OdbcException' occurred in
system.data.dll

Additional information: System error.

Thank you for the response.  Any more thoughts?
==================

Show quoteHide quote
"Cindy Winegarden" wrote:

> Hi Joe,
>
> First off, try the FoxPro and Visual FoxPro OLE DB data provider, available
> from http://msdn.microsoft.com/vfoxpro/downloads/updates . For your
> connection string use:
>
> "Provider=VFPOLEDB.1;Data Source = C:\Temp;"
>
> That's all you need for free tables. If you still have problems, post back.
>
> --
> Cindy Winegarden  MCSD, Microsoft Visual Foxpro MVP
> cindy_winegar***@msn.com  www.cindywinegarden.com
> Blog: http://spaces.msn.com/members/cindywinegarden
>
Author
12 Apr 2005 2:49 AM
genojoe
I got the following to work:

        Dim myConnection As New
System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\TEMP;Extended Properties=dBase III")
        Dim myCommand As New System.Data.OleDb.OleDbCommand("SELECT
OTHWAGE.* FROM OTHWAGE", myConnection)
        myConnection.Open()
        Dim myReader As System.Data.OleDb.OleDbDataReader =
myCommand.ExecuteReader()
        While myReader.Read()
            Debug.WriteLine(CStr(myReader.GetValue(0)))
        End While


Show quoteHide quote
"Cindy Winegarden" wrote:

> Hi Joe,
>
> First off, try the FoxPro and Visual FoxPro OLE DB data provider, available
Author
13 Apr 2005 1:13 PM
Cindy Winegarden
Hi Joe,

I'm glad you found a work-around.

--
Cindy Winegarden  MCSD, Microsoft Visual Foxpro MVP
cindy_winegar***@msn.com  www.cindywinegarden.com
Blog: http://spaces.msn.com/members/cindywinegarden


Show quoteHide quote
"genojoe" <geno***@discussions.microsoft.com> wrote in message
news:EDDDDB6D-D348-403F-B9C0-B8135C8CD504@microsoft.com...
>I got the following to work:
>
>        Dim myConnection As New
> System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=C:\TEMP;Extended Properties=dBase III")
>        Dim myCommand As New System.Data.OleDb.OleDbCommand("SELECT
> OTHWAGE.* FROM OTHWAGE", myConnection)
>        myConnection.Open()
>        Dim myReader As System.Data.OleDb.OleDbDataReader =
> myCommand.ExecuteReader()
>        While myReader.Read()
>            Debug.WriteLine(CStr(myReader.GetValue(0)))
>        End While
>
>
> "Cindy Winegarden" wrote:
>
>> Hi Joe,
>>
>> First off, try the FoxPro and Visual FoxPro OLE DB data provider,
>> available
>