interbase - 无法在运行时使用带参数的查询创建用户
问题描述
我正在使用 C++ Builder 10.2.3 (Rad Studio Tokyo 10.2.3) 和 Interbase 2017 我需要在运行时为我的用户注册创建用户。如果我在运行时创建查询,在这种情况下没有参数,它可以工作。但这会产生 MBCS 字符的问题,我将在后面解释。如果我在设计时使用参数创建查询并尝试在运行时设置参数。我收到以下错误消息:
[Application: ]
[Error] -104 335544569 Dynamic SQL Error
SQL error code = -104
Token unknown - line 2, char 14
?
我正在使用的查询如下:
CREATE USER myuser
SET PASSWORD :mypass,
FIRST NAME :myfirstname,
LAST NAME :myname;
我在运行时替换了查询的第一行,所以没有字符。毕竟,Interbase 无法处理 USERNAME 中的 MBCS 字符。我需要使用带参数的查询,因为我的应用程序处理多字节字符 (MBCS),例如中文和日文。这是确保在 Interbase 中正确转换为 UTF8 的唯一选择。因为如果没有完成 MBCS 字符的转换,我就无法备份和恢复我的数据库。当我尝试使用名字和姓氏中的 MBCS 字符进行恢复时,我收到一条错误消息,指出 Interbase 无法在字符集之间进行音译。
根据错误消息,在我看来它无法识别查询参数。我尝试了“TIBQuery”和“TIBSQL”。同样的问题。也不可能使用存储过程。不识别创建词。那么,如何解决呢?
解决方案
推荐阅读
- java - 尝试获取空数组 Kotlin 的长度
- sql-server - SAP B1:如何检查 OIVL 表中是否插入了新数据
- laravel - Laravel 6.0 输入::value"old(' ')"
- visual-studio-code - 如何在vscode中设置匹配的括号颜色?
- kivy - Kivy ScreenManager 根本不做任何事情
- javascript - Javascript文本更改未在HTML“for”中修复
- java - 来自 JavaFX 桌面客户端应用程序的 RESTful API 身份验证
- node.js - 从以下 Firestore 列表中获取最新帖子
- python - Colab/Jupyter/Python:如何读取上传的文件
- video - MPEG-4 或 Matroska 是否可以实现可变分辨率?