Firebird数据库是否支持Schema?如果是这样,我如何通过ISQL在Firebird DB中创建架构?

时间:2013-12-13 13:49:18

标签: sql schema firebird jaybird

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

检索模式
AbstractDatabaseMetaData.getSchemas()

但它始终检索空结果集。任何人都可以帮我检索模式吗?当没有架构时至少是SYSTEM架构。

2 个答案:

答案 0 :(得分:5)

Firebird目前没有架构,因此Jaybird不会返回任何架构。这符合JDBC规范,says

  

如果某个给定形式的元数据不可用,则会返回空的ResultSet

请注意,Firebird确实有CREATE SCHEMA,但这只是CREATE DATABASE的别名。

答案 1 :(得分:1)

不,架构不受支持,但您可以创建许多数据库文件。使用Firebird工具创建数据库的Here手册。您也可以使用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 ; !!
....
相关问题