【问题标题】:How to copy (and rename) a database?如何复制(和重命名)数据库?
【发布时间】:2011-01-22 01:15:08
【问题描述】:

我在 Delphi 中进行编码,使用 TADOConnection 访问符合 ODBC 的数据库。

如何复制数据库,将新副本保留在同一数据库服务器上?

我该如何重命名? (我想我可以复制并删除原件 - 如果我知道如何复制的话)。

【问题讨论】:

  • 有兴趣了解您尝试使用“复制数据库”解决方案解决的问题/要求吗?

标签: delphi odbc ado


【解决方案1】:

ODBC 不提供复制或创建数据库。这是一个特定于技术(特定于 RDBMS)的工具。最接近的方法是创建和填充(复制)表。

您可以做到这一点的唯一方法是通过 ODBC 连接发出特定于 db 的命令,但为此我们必须确切知道您使用的是什么类型的数据库。

【讨论】:

  • +1 这就是我所担心的。目前只有 MySQl,但我希望以后有其他人(Access、Oracle ...)
  • 你正在撒网。不幸的是,我认为即使是特定于 db 的命令也会起作用。例如,我认为 Access 根本不提供任何此类功能。您最好的选择是为您想要支持的每种数据库类型创建一个算法,并使用 DI 进程来进行数据库复制:en.wikipedia.org/wiki/Dependency_injection
  • @Leonix:我可以看到你以前没有使用 oracle 的经验......你说的(复制数据库)对于 Oracle 数据库没有意义,也许你的意思是创建一个不同的实例并填充它使用相同的数据,或者可能在同一个实例上创建不同的架构......但是数据库副本,我不这么认为......
【解决方案2】:

您使用的是 ODBC 驱动程序还是 ADO 提供程序?如果是后者,您可以查看 ADOX 库,它为使用数据库结构提供了供应商中立的支持。我不知道它是否支持对整个数据库的操作。

【讨论】:

    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 2012-09-11
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 2019-05-29
    相关资源
    最近更新 更多