kvk*_*k30 5 sql sql-server firebird
CREATE DATABASE test.fdb -user ZZZZZ -password *******;
Run Code Online (Sandbox Code Playgroud)
我正在使用上面的命令在 Windows 7 中为我的项目创建一个数据库。我是 Firebird SQL 的新手,我使用系统凭据登录,但它显示一些错误。那么,如何重置我的密码?
SQL error code = -104
Token unknown.
Run Code Online (Sandbox Code Playgroud)
我什至不知道SQLCODE = -104的意义。
显示的错误不是由于不知道数据库密码引起的,而是语句中存在语法错误CREATE DATABASE。错误令牌未知意味着语句解析器读取了它不期望的内容;错误之后通常是有问题的令牌。
如果我在 Firebird 3.0 上使用 ISQL 执行您的语句,我会收到以下完整错误:
SQL> CREATE DATABASE test.fdb -user SYSDBA -password *******;
Statement failed, SQLSTATE = 42000
SQL error code = -104
-Token unknown
-test
Run Code Online (Sandbox Code Playgroud)
这意味着test您的查询中的某些内容是错误的。
正确的语法CREATE DATABASE是:
Run Code Online (Sandbox Code Playgroud)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 '*******';
Run Code Online (Sandbox Code Playgroud)
所以:
-之前没有userpassword顺便说一句,SQL 错误代码通常不是很有趣(因为其中一些可以涵盖几个不同的错误)。