C# c-如何通过ms access数据库获取表列表?

C# c-如何通过ms access数据库获取表列表?,c#,C#,我正在将数据从ms access数据库复制到sql server,如下所示 string sSQLTable = table; string myExcelDataQuery = "Select * from " + sSQLTable; string sSqlConnectionString = connStr; string sClearSQL = "DELETE FROM " + sSQLTable; SqlConnection SqlConn = new SqlConnection(sS

我正在将数据从ms access数据库复制到sql server,如下所示

string sSQLTable = table;
string myExcelDataQuery = "Select * from " + sSQLTable;
string sSqlConnectionString = connStr;
string sClearSQL = "DELETE FROM " + sSQLTable;
SqlConnection SqlConn = new SqlConnection(sSqlConnectionString);
SqlCommand SqlCmd = new SqlCommand(sClearSQL, SqlConn);
SqlConn.Open();
SqlCmd.ExecuteNonQuery();
SqlConn.Close();
OleDbConnection OleDbConn = new OleDbConnection(String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", fileName));
OleDbCommand OleDbCmd = new OleDbCommand(myExcelDataQuery, OleDbConn);
OleDbConn.Open();
OleDbDataReader dr = OleDbCmd.ExecuteReader();
SqlBulkCopy bulkCopy = new SqlBulkCopy(sSqlConnectionString);
bulkCopy.DestinationTableName = sSQLTable;
while (dr.Read())
{
    bulkCopy.WriteToServer(dr);
}
OleDbConn.Close();

但这只对一个表名起作用……如何将其放入循环中,获取每个表名并调用此函数来复制每个表的数据?

您可以查看,它说明了如何通过查询架构来检索可用表的列表。

您可以查看,它说明了如何检索可用表的列表可通过查询架构获得可用表。

以下是一些参考。注意:我已经测试过了。你可以跟着试试


这里有一些参考资料。注意:我已经测试过了。你可以跟着试试


您可以在下面运行查询,但需要具有管理权限

选择名称 来自MSysObjects 哪里 左[姓名],1~ 和 左[名称],4MSys 和 输入1,4,6
按名称排序

您可以在下面的查询中运行,但需要具有管理权限

选择名称 来自MSysObjects 哪里 左[姓名],1~ 和 左[名称],4MSys 和 输入1,4,6 点名