4

Firebird 数据库是否支持 Schema?如果是这样,如何通过 ISQL 在 Firebird DB 中创建模式?请帮我在 Firebird DB 中创建模式。我试图使用检索架构

AbstractDatabaseMetaData.getSchemas()

但它总是检索空结果集。谁能帮我检索模式?没有架构时至少 SYSTEM 架构。

4

2 回答 2

6

Firebird 目前没有模式,因此 Jaybird 不返回任何模式。这符合 JDBC 规范,该规范

ResultSet如果给定形式的元数据不可用,则将返回空值。

请注意,Firebird 确​​实有一个CREATE SCHEMA,但这只是CREATE DATABASE.

于 2013-12-13T13:53:16.963 回答
1

不,不支持架构,但您可以创建许多数据库文件。这里是使用 Firebird 工具创建数据库的手册。您也可以使用 IBExpert 或类似工具创建数据库。此外,您可以创建 sql-cript 以使其自动化:

$ isql -q -i create-db.sql

你也可以从java代码运行它。

--Contents of create-db.sql
CREATE DATABASE '/my/path/my-db.fdb' page_size 8192 USER 'SYSDBA' PASSWORD 'masterkey';
CREATE EXCEPTION EX_SOME_EXCEPTION 'Some extension message';
CREATE TABLE ROOMS (
 ID integer NOT NULL PRIMARY KEY,
 Number char(10),
 Name char(100),
 Network char(100),
 Memo char(100)
);

CREATE GENERATOR ROOMS_IDGEN;
SET TERM !! ;
CREATE TRIGGER ON_ROOMS_INS FOR ROOMS BEFORE INSERT AS
BEGIN
 IF (NEW.ID IS NULL) THEN NEW.ID=GEN_ID(ROOMS_IDGEN, 1);
END !!
SET TERM ; !!
....
于 2013-12-13T13:53:10.620 回答