Paradox 5 access without BDE
-
Monday, May 18, 2009 12:17 PMHi,We're trying to connect to Borland Paradox 5 database on an specified hard drive path. Wethink our connection string contains all the necessary parameters to make that connection. In fact, if we use BDE we can connect to our database.But the problem is that we can't use that sistems in our environment, we can't install BDE because of client restrictions (yeah, that's the main and unavoidable problem on our development).We wrote this code:
Try
Dim ConStr As String
ConStr = "Provider=MSDASQL.1;DBQ=C:\Paradox\;DefaultDir=C:\Paradox\;Driver={Microsoft Paradox Driver (*.db )};DriverID=538;ParadoxNetPath=C:\Paradox\;"
'ConStr = "Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=C:\Paradox\;Dbq=C:\Paradox\;CollatingSequence=ASCII;"
'Dim conPeople As OdbcConnection = New OdbcConnection("DSN=AngelBD;DefaultDir=C:\Paradox\;" & _
' "DBQ=C:\Paradox\;")
Dim conPeople As OdbcConnection = New OdbcConnection(ConStr)
Dim strSelection As String = "SELECT * FROM Pepe WHERE ID < 15"
Dim cmdPeople As OdbcCommand = New OdbcCommand(strSelection, conPeople)
Dim odaPeople As OdbcDataAdapter = New OdbcDataAdapter(cmdPeople)
Dim dsPersons As DataSet = New DataSet("Persons")
odaPeople.Fill(dsPersons)
DataGridView1.DataSource = dsPersons
DataGridView1.DataMember = dsPersons.Tables.Item(0).TableName
conPeople.Open()
conPeople.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
And the error was:System.Data.Odbc.OdbcException = {"ERROR [HY000] [Microsoft][ODBC Paradox Driver] External table is not in the expected format}The question is: did you work with this conditions and your system worked properly? We're stuck on that.Thanks a lot
All Replies
-
Monday, May 18, 2009 2:01 PMBDE isn't required. If you use the ODBC driver then you will need to make certain that the ODBC desktop drivers are installed.
You can also use the Jet database engine with the Paradox ISAM driver. For this installation the latest version of the Jet database engine should be installed, which can be done via Windows Update or through the latest Windows service packs.
http://www.connectionstrings.com/paradox
Paul ~~~~ Microsoft MVP (Visual Basic) -
Monday, May 18, 2009 2:22 PMThanks for that quick response, but...we follow the same instructions. We've got ODBC installed properly and the last Jet database engine, we're working with two different environments (one in a W2003Server with the Msjet40.dll 4.0.9025.0 and the other, a XP SP2, with 4.0.8618.0) and neither works.We're just working with Microsoft's Support and MSDN Page and with your latest link, but we can't connect this database without using BDE. You can see our code. Here's another example. This one refers to another function using the recommended Paradox connection strings:
ConStr = "Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=C:\Paradox\;Dbq=C:\Paradox\;CollatingSequence=ASCII;" 'Dim conPeople As OdbcConnection = New OdbcConnection("DSN=AngelBD;DefaultDir=C:\Paradox\;DBQ=C:\Paradox\;") Dim conPeople As OdbcConnection = New OdbcConnection(ConStr)When we call "Fill()" method, 'got the same problem. -
Monday, May 18, 2009 2:43 PM
Are you certain this is a Paradox 5.0 file? Also, does it have any memo fields?
Do you get the same error if you use the Jet connection string with the Paradox ISAM driver?
Paul ~~~~ Microsoft MVP (Visual Basic) -
Monday, May 18, 2009 2:55 PMAre you certain this is a Paradox 5.0 file?Yeah, pretty sure (and i see the database properly with bde and with direct paradox table reading). When I use Jet Connection got this code:
Dim _connection As New OleDbConnection() Dim ConnectionString As New StringBuilder("") Try ConnectionString.Append("Provider=Microsoft.Jet.OLEDB.4.0;") ConnectionString.Append("Data Source=C:\Paradox;") ConnectionString.Append("Extended Properties='Paradox 5.x'") _connection.ConnectionString = ConnectionString.ToString()And the same error: External table is not in the expected formatWe don't have any memo fields. The database structure got longInts, shortInts, a char (length 7) and a number (length 8). -
Monday, May 18, 2009 3:49 PM
If you're certain it's version 5.0 then also make sure that you have any dependent tables (files). For example, if you have a primary key I'm pretty sure that Paradox creates an additional file for this.
Most of the Paradox versions are incompatible so you need to make certain to specify the correct version in the connection string. In addition, I don't believe that the Microsoft drivers support any version beyond 5.0.
Paul ~~~~ Microsoft MVP (Visual Basic) -
Monday, May 18, 2009 4:04 PMWe've got the .px file... so we're at the starting point.Thanks anyway for the effort.

