顯示的錯誤不是由於不知道數據庫密碼造成的,您在CREATE DATABASE
語句中出現語法錯誤。錯誤令牌未知意味着語句分析器讀取它沒有想到的內容;錯誤通常跟在違規令牌之後。
如果我的火鳥3.0執行使用ISQL你的說法,我得到以下完整的錯誤:
SQL> CREATE DATABASE test.fdb -user SYSDBA -password *******;
Statement failed, SQLSTATE = 42000
SQL error code = -104
-Token unknown
-test
這意味着在(或之前)test
東西在您的查詢是錯誤的。
爲CREATE DATABASE
正確的語法是:
CREATE {DATABASE | SCHEMA} '<filespec>'
[USER 'username' [PASSWORD 'password']]
[PAGE_SIZE [=] size]
[LENGTH [=] num [PAGE[S]]
[SET NAMES 'charset']
[DEFAULT CHARACTER SET default_charset
[COLLATION collation]] -- not supported in ESQL
[<sec_file> [<sec_file> ...]]
[DIFFERENCE FILE 'diff_file']; -- not supported in ESQL
<filespec> ::= [<server_spec>]{filepath | db_alias}
<server_spec> ::= servername [/{port|service}]: | \\servername\
<sec_file> ::= FILE 'filepath'
[LENGTH [=] num [PAGE[S]] [STARTING [AT [PAGE]] pagenum]
換句話說,你的說法應該是:
create database 'test.fdb' user SYSDBA password '*******';
所以:路徑周圍
- 行情數據庫文件(或別名)
- 否
-
befor e本user
和password
條款圍繞密碼
- 行情(違反語法中的,報價是圍繞用戶名可選)
順便說一句,在SQL error code
平時是不是很有趣(因爲他們中的一些可以涵蓋幾個不同的錯誤)。
是Firebird是否區分大小寫? – kvk30
@ kvk30談到語句:no(所以'CREATE DATABASE ...'和'create database ...'都可以),但是當涉及到對象名時:它們可能是。無引號的對象名稱不區分大小寫(它們存儲爲大寫),帶引號的對象名稱區分大小寫(它們按原樣存儲),另請參見http://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html /fblangref25-structure-identifiers.html –
如何重置Firebird 2.1的密碼? – kvk30