6

TSQLConnection は既存のデータベースにのみ接続するように見えますが、データベース サーバーにコマンドを送信できる別のコンポーネントが見つかりませんでした。

私は Firebird と MSSQL で Delphi 2009 を使用しています。

アイデアの 1 つは、システム データベース (たとえば、MSSQL の master または tempdb) に接続し、作成コマンドをサーバーに送信することでした。これは MSSQL のオプションになる可能性がありますが、Firebird についてはわかりません。

Delphi 2009 の新しい DBX メタデータも認識していますが、それを使用してデータベースを作成する方法が見つかりませんでした。私が見つけたすべての例は、既存のデータベースを変更することです。

4

6 に答える 6

3

はい、できます。dbExpress には、これを行うための強力なメタデータ クラスのセットが含まれるようになりました。

ここでは、Steve Shaughnessy が適切な紹介をしています

于 2008-12-30T19:05:23.060 に答える
0

Delphi に含まれる dbExpress は、「最小公倍数」戦略を使用します。ネイティブ ドライバを介して利用できるクエリ統計などの情報は、dbExpress では表示されません。(おそらく、「代替の dbExpress 実装のどの機能があなたを切り替えさせましたか?」のような質問をする必要があります)。

于 2011-01-09T13:54:25.233 に答える
0

Erick さん、Devart ドライバーを使用している場合は、databasename パラメーターなしで接続して、t-sql create database コマンドを送信できます。

于 2010-12-21T11:26:03.987 に答える
-2

Delphi 2007/2009 には DBX4 が付属しています。そこにある低レベルの構造を使用して、プログラムでデータベースを作成できます。覗くdbxcommons.pas

于 2009-06-05T12:44:16.493 に答える
-2

標準の TSQLQuery を使用して、両方のデータベースで「CREATE DATABASE ...」を実行できます。

これら 2 つは構文が異なることに注意してください。dbx は軽量の lib であるため、この SQL および DB 固有のアクションが完全にサポートされることはおそらくありません。それはあなたにSQLを残します。

于 2008-12-30T13:03:54.100 に答える
-3

特定のサーバーのDDL構文に従っている限り、任意のサーバー(またはms-accessファイル)で開いている任意の接続(ADO、OLEDB、ODBCなど)を介して「CREATEDATABASE」スクリプトを送信できます。

于 2008-12-30T14:33:13.327 に答える