Firebird数据库是否支持架构?如果是这样,我如何通过ISQL在Firebird DB中创建架构?请帮我在Firebird DB中创建模式。我试图使用
检索模式AbstractDatabaseMetaData.getSchemas()
但它始终检索空结果集。任何人都可以帮我检索模式吗?当没有架构时至少是SYSTEM架构。
答案 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 ; !!
....