SQLCODE 中的令牌未知
Token unknown in SQLCODE
CREATE DATABASE test.fdb -user ZZZZZ -password *******;
我正在使用上面的命令为我在 windows 中的项目创建一个数据库 7. 我是 Firebird 的新手 SQL,我使用我的系统凭据登录但它显示了一些错误.那么,如何重设密码?
SQL error code = -104
Token unknown.
我什至不知道SQLCODE = -104的意义。
显示的错误不是由于不知道数据库密码引起的,您在 CREATE DATABASE
语句中有语法错误。错误 Token unknown 意味着语句解析器读取了它没有预料到的内容;错误后通常跟有问题的标记。
如果我在 Firebird 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 '*******';
所以:
- 数据库文件路径(或别名)的引号
- 在
user
和password
子句前没有-
- 密码周围的引号(与显示的语法相反,用户名周围的引号是可选的)
顺便说一句,SQL 错误代码 通常不是很有趣(因为其中一些可以涵盖多个不同的错误)。
CREATE DATABASE test.fdb -user ZZZZZ -password *******;
我正在使用上面的命令为我在 windows 中的项目创建一个数据库 7. 我是 Firebird 的新手 SQL,我使用我的系统凭据登录但它显示了一些错误.那么,如何重设密码?
SQL error code = -104
Token unknown.
我什至不知道SQLCODE = -104的意义。
显示的错误不是由于不知道数据库密码引起的,您在 CREATE DATABASE
语句中有语法错误。错误 Token unknown 意味着语句解析器读取了它没有预料到的内容;错误后通常跟有问题的标记。
如果我在 Firebird 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 '*******';
所以:
- 数据库文件路径(或别名)的引号
- 在
user
和password
子句前没有-
- 密码周围的引号(与显示的语法相反,用户名周围的引号是可选的)
顺便说一句,SQL 错误代码 通常不是很有趣(因为其中一些可以涵盖多个不同的错误)。