Firebird 数据库是否支持 Schema?如果是这样,如何通过 ISQL 在 Firebird DB 中创建模式?请帮我在 Firebird DB 中创建模式。我试图使用检索架构
AbstractDatabaseMetaData.getSchemas()
但它总是检索空结果集。谁能帮我检索模式?没有架构时至少 SYSTEM 架构。
Firebird 目前没有模式,因此 Jaybird 不返回任何模式。这符合 JDBC 规范,该规范说:
ResultSet
如果给定形式的元数据不可用,则将返回空值。
请注意,Firebird 确实有一个CREATE SCHEMA
,但这只是CREATE DATABASE
.
不,不支持架构,但您可以创建许多数据库文件。这里是使用 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 ; !!
....