gpt4 book ai didi

sql - SQLCODE 中的标记未知

转载 作者:行者123 更新时间:2023-12-03 03:41:33 24 4
gpt4 key购买 nike

CREATE DATABASE test.fdb -user ZZZZZ -password *******;

我正在使用上面的命令在 Windows 7 中为我的项目创建一个数据库。我是 Firebird SQL 的新手,我使用系统凭据登录,但它显示一些错误。那么,如何重置我的密码?

SQL error code = -104
Token unknown.

我什至不知道SQLCODE = -104的意义。

最佳答案

显示的错误不是由于不知道数据库密码引起的,而是 CREATE DATABASE 语句中存在语法错误。错误 token 未知意味着语句解析器读取了它不期望的内容;错误后面通常是有问题的 token 。

如果我在 Firebird 3.0 上使用 ISQL 执行您的语句,我会收到以下完整错误:

SQL> CREATE DATABASE test.fdb -user SYSDBA -password *******;
Statement failed, SQLSTATE = 42000
SQL error code = -104
-Token unknown
-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 '*******';

所以:

  • 数据库文件(或别名)路径的引号
  • userpassword 子句之前没有 -
  • 密码两边加引号(与显示的语法相反,用户名两边的引号是可选的)

顺便说一句,SQL 错误代码通常不是很有趣(因为其中一些可以涵盖几个不同的错误)。

关于sql - SQLCODE 中的标记未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38389954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com