Мне нужно импортировать таблицы из foxpro 8.0 на сервер sql. Как мне прочитать таблицы и схему из каталога/файлов foxpro на С#, чтобы я мог создавать таблицы в SQL Server и копировать данные?
Как мне прочитать базу данных Foxpro 8.0 с С#?
Ответы (3)
Этого можно добиться с помощью метода GetSchema в OleDb. Класс соединения.
OleDbConnection connection = new OleDbConnection(
"Provider=VFPOLEDB.1;Data Source=.\\Northwind\\Northwind.dbc;"
);
connection.Open();
DataTable tables = connection.GetSchema(
System.Data.OleDb.OleDbMetaDataCollectionNames.Tables
);
foreach (System.Data.DataRow rowTables in tables.Rows)
{
Console.Out.WriteLine(rowTables["table_name"].ToString());
DataTable columns = connection.GetSchema(
System.Data.OleDb.OleDbMetaDataCollectionNames.Columns,
new String[] { null, null, rowTables["table_name"].ToString(), null }
);
foreach (System.Data.DataRow rowColumns in columns.Rows)
{
Console.Out.WriteLine(
rowTables["table_name"].ToString() + "." +
rowColumns["column_name"].ToString() + " = " +
rowColumns["data_type"].ToString()
);
}
}
person
jveazey
schedule
04.11.2010
Вы можете использовать ODBCConnection. Я знаю, что foxpro использует файлы .dbf.
OdbcConnection Conn = new OdbcConnection("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\\tbl.dbf;");
String SQL = "SELECT * FROM tbl.dbf";
Conn.Open();
OdbcCommand MyCommand = new OdbcCommand(SQL,Conn);
OdbcDataReader dr = MyCommand.ExecuteReader();
while (dr.Read())
{
//your code
}
person
NET Experts
schedule
29.10.2010
Я не против, но это не будет работать с версиями после VFP6.
- person Cetin Basoz; 19.09.2015
Visual FoxPro dbf — это не то же самое, что dBASE
- person Roel; 02.11.2015
дело в том, что это отвечает на вопрос, а не на проблему версии
- person NET Experts; 05.11.2015
это верно для файлов .dbf. в соответствии со строками подключения, найденными здесь: connectionstrings.com/dbf-foxpro
- person JJ_Coder4Hire; 05.08.2016
За исключением «Драйвера», предоставленного ответом RJ, перейдите в MS и получите поставщика VFP OleDB ... У вас могут возникнуть проблемы с совместимостью при работе с контейнером базы данных.
person
DRapp
schedule
29.10.2010