是否可以使用DBX以编程方式创建数据库?

时间:2008-12-30 12:03:47

标签: sql-server delphi firebird dbexpress dbx

看起来TSQLConnection只连接到现有数据库,我找不到另一个允许我向数据库服务器发送命令的组件。

我正在使用Delphi 2009和Firebird以及MSSQL。

一个想法是连接到系统数据库(例如MSSQL中的master或tempdb),然后将create命令发送到服务器。这可能是MSSQL的一个选项,但我不确定Firebird。

我也知道Delphi 2009中新的DBX元数据,但我找不到使用它创建数据库的方法。我发现的所有示例都是修改现有数据库。

6 个答案:

答案 0 :(得分:3)

是的,你可以。 dbExpress现在包含一组功能强大的元数据类,用于实现这一目标。

Steve Shaughnessy给出了一个很好的介绍here

答案 1 :(得分:0)

Erick如果使用Devart驱动程序,可以在没有databasename参数的情况下连接,并发送t-sql create database命令。

答案 2 :(得分:0)

Delphi中包含的dbExpress使用“最小公分母”策略。通过本机驱动程序提供的查询统计信息等信息对于dbExpress是不可见的。 (也许我应该问一个问题,例如“替换dbExpress实现中的哪个功能让你切换?”)

答案 3 :(得分:-2)

您可以使用标准TSQLQuery在两个数据库上执行“CREATE DATABASE ...”。

请注意,这两者之间的语法不同。由于dbx是轻量级的lib,因此可能永远不会完全支持这种SQL和DB特定的操作。它给你留下了SQL。

答案 4 :(得分:-2)

随着Delphi 2007/2009推出DBX4。您可以使用那里的低级结构以编程方式创建数据库。查看dbxcommons.pas

答案 5 :(得分:-3)

您可以通过在任何服务器(甚至是ms访问文件)上打开的任何连接(ADO,OLEDB,ODBC等)发送“CREATE DATABASE”脚本,只要它遵循特定的服务器DDL语法。