微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将表从一个数据库克隆到另一个数据库Access、ODBC 和 C#

如何解决将表从一个数据库克隆到另一个数据库Access、ODBC 和 C#

通过 ODBC 和 C# 使用 Microsoft Access。以下查询正确克隆了同一数据库中的一个表(尽管主键信息已被剥离):

SELECT * INTO [NewTable] FROM [ExistingTable] WHERE 1=0;

要创建一个空白数据库,请执行以下操作:

// P/Invoke ODBCCP32.DLL::sqlConfigDataSource
enum RequestFlags : Int16
{
    // Comments from https://docs.microsoft.com/en-us/sql/odbc/reference/Syntax/sqlconfigdatasource-function
    ODBC_ADD_DSN = 1,// Add a new user data source
    ODBC_CONfig_DSN = 2,// Configure (modify) an existing user data source
    ODBC_REMOVE_DSN = 3,// Remove an existing user data source
    ODBC_ADD_SYS_DSN = 4,// Add a new system data source
    ODBC_CONfig_SYS_DSN = 5,// Modify an existing system data source
    ODBC_REMOVE_SYS_DSN = 6,// Remove an existing system data source
    ODBC_REMOVE_DEFAULT_DSN = 7     // Remove default data source specification section from system information
}

[DllImport("ODBCCP32.DLL",CharSet=CharSet.Unicode,SetLastError=true)]
static extern bool sqlConfigDataSource(UInt32 hwndParent,RequestFlags fRequest,string lpszDriver,string lpszAttributes);

// ...
string driver32 = "Microsoft Access Driver (*.mdb)";            // 32-bit
string driver64 = "Microsoft Access Driver (*.mdb,*.accdb)";   // 64-bit
string command = "CREATE_DB=C:\Tmp\MyCoolDB.mdb";
bool dbCreated = sqlConfigDataSource(0,RequestFlags.ODBC_ADD_DSN,driver32,command);

如何将表从一个数据库复制到另一个数据库,最好是使用原始 sql 或使用 ODBCCP32.DLL?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。