foxpro 8.0 から SQL サーバーにテーブルをインポートする必要があります。SQL Server でテーブルを作成してデータをコピーできるように、C# の foxpro ディレクトリ/ファイルからテーブルとスキーマを読み取るにはどうすればよいですか?
7085 次
3 に答える
7
これは、OleDb.Connectionクラス のGetSchemaメソッドを使用して実現できます。
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()
);
}
}
于 2010-11-04T21:34:22.760 に答える
1
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
}
于 2010-10-29T07:58:15.873 に答える
1
RJ の回答で提供された「ドライバー」を除いて、MS にアクセスして VFP OleDB プロバイダーを入手してください。データベース コンテナーを扱う場合、互換性の問題が発生する可能性があります。
于 2010-10-29T12:28:37.940 に答える