2008-12-30 61 views
6

看起来像TSQLConnection只连接到现有的数据库,我找不到另一个组件允许我发送命令到数据库服务器。是否可以使用DBX以编程方式创建数据库?

我使用Delphi 2009与Firebird和MSSQL。

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

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

+0

无论是你使用的框架,你可以通过发送纯文本DDL指令到该服务器创建一个关系数据库服务器上的数据库。它的工作原理与MSSQL,并将其与火鸟工作太 – 2008-12-30 20:28:35

+0

看到类似的问题http://stackoverflow.com/questions/423808/creating-a-database-using-dbexpress-in-delphi – stukelly 2009-01-09 22:06:26

回答

-2

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

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

+0

TSQLQuery数据库需要连接设为TSQLConnection。 – 2008-12-30 16:00:14

+0

是的。 SQLServer:连接到master数据库,创建neew数据库,然后连接到它。 – dmajkic 2009-01-04 13:23:18

-3

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

+0

我在问使用DBX框架,而不是其他人。 – 2008-12-30 16:01:31

3

是的,你可以。现在,dbExpress包含一组功能强大的元数据类。

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

-2

随着德尔福2007/2009来了DBX4。您可以使用这里的低级别结构以编程方式创建数据库。查看dbxcommons.pas

0

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

0

Delphi中包含的dbExpress使用“最小公分母”策略。使用dbExpress可以查看本地驱动程序可用的查询统计信息。 (也许我应该问这样一个问题:“在让你切换替代的dbExpress实现哪些功能?”)

相关问题