October 15, 2010 at 2:32 pm
Hi there,
I want to read blob columns from Paradox database using c#. Here is my code:
DataSet dsUsers = new DataSet();
string strQuery = "SELECT blobColumn FROM users";
dsUsers = GetNames(strQuery, "Driver={Microsoft Paradox Driver (*.db )}; Default Dir=<directory>;DBQ=<directory>");
private DataSet GetNames(String strQuery, String strConnect)
{
DataSet dsNames = new DataSet();
OdbcConnection conOdbc = new OdbcConnection(strConnect);
OdbcCommand cmdOdbc = new OdbcCommand(strQuery, conOdbc);
OdbcDataAdapter odaOdbc = new OdbcDataAdapter(cmdOdbc);
odaOdbc.Fill(dsNames);
conOdbc.Open();
conOdbc.Close();
return dsNames;
}
Note that the Paradox driver version is 4.0.
The code failed to query the blob column. The error is:
Error code: -2146232009
Error msg: ERROR [07002] [Microsoft][ODBC Paradox Driver] Too few parameters. Expected 1.
Source: odbcjt32.dll
Please note that I can query non-blob columns of the table with the same code. I tried placing the blob column after the other non-blob columns, I still got the same error.
I also tried Microsoft OLE DB provider using the following code. There was also an error:
"No value given for one or more required parameters."
System.Data.OleDb.OleDbConnection ParConn;
DataTable schemaTable;
ParConn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db;"+
"Extended Properties=Paradox 4.x; Persist Security Info=False");
System.Data.OleDb.OleDbCommand myCmd = new System.Data.OleDb.OleDbCommand();
System.Data.OleDb.OleDbDataReader myReader;
myCmd.CommandType = CommandType.Text;
myCmd.Connection = ParConn;
myCmd.CommandText = "SELECT blobColumn FROM users";
ParConn.Open();
myReader = myCmd.ExecuteReader(CommandBehavior.SequentialAccess);
schemaTable = myReader.GetSchemaTable();
ParConn.Close();
I noticed the following statement at http://msdn.microsoft.com/en-us/library/aa215269%28SQL.80%29.aspx:
When using the Microsoft OLE DB provider for ODBC with the SQL Server ODBC driver, all BLOB columns should be arranged after columns with other data types in a source rowset. You can use a SELECT statement to rearrange the BLOB columns to the end of the source rowset. The DTS Import/Export Wizard performs this operation automatically.
Agasin I tried placing the blob column after the other non-blob columns, I still got the same error.
I also tried "Import and Export Data" Wizard shipped with SQL Server Management studio. I couldn't import the table with blob columns.
I think there mst be a way to import blob columns from Paradox database in C#. Any ideas?
Viewing post 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy