FAQ
如果连接失败,需要检查哪些方面?
解答: 检查以下几个方面:
- 验证连接属性,检查连接属性输入是否正确。
- 检查服务器和客户端版本是否兼容。
- 检查$PGDATA/postgresql.conf文件是否正确配置。
- 检查 Vastbase Data Studio.ini 文件是否正确配置。
当用户通过 SSL 证书尝试和另一服务器建立连接时,为什么连接成功了?
解答: 如果不同服务器使用相同SSL证书,那么第二次连接应成功,因为证书会缓存。当用户通过不同的 SSL 证书尝试和另一服务器建立连接时,由于证书不匹配连接失败。
当用户右键单击过程并在“对象浏览器”窗口中进行刷新,过程本身不可见。原因是什么?
解答: 当用户放弃功能并重新创建该功能时,这个问题可能出现。刷新主文件夹, 在“对象浏览器”窗口中查看过程。
如果关键错误在数据库会话过程中发生并且操作无法继续,如何处理?
解答: 关键错误可能发生在以下情景。检查:
- 连接是否长时间空闲并且超时。
- 服务器是否在运行。
- 服务器是否有足够的内存并且“无内存”问题是否有上报服务器。
限制条件是什么?
解答: 限制条件用来限制表格中每列中不需要的数据插入。用户可以对任何表格 的一列或多列创建限制条件。保持表格中的数据完整。
支持的 3 种限制条件如下:
- 主键限制
- 唯一限制
- 检查限制
索引是什么?
解答: 索引是表格选择列中数据的复本,搜索非常高效。索引包含低级别磁盘块 或直连连接到源数据所在行。
VDS文件的默认编码格式是什么?
解答: 导入、导出的文件和系统文件使用的是系统的默认编码格式,该默认格式 通过“设置-> 首选项”进行配置。默认编码格式为 UTF-8。
我尝试打开VDS时,显示 VDS不支持打开多个实例。原因是什么?
解答: VDS不支持同一用户打开多个实例。
尝试对对象执行 DDL 操作时,任务无限期运行且无法取消任务。原因是什么?
解答: 如果在同一对象上执行其他 DML/DDL 活动操作,则可能发生这种情况。此时需关闭对象上的所有 DML/DDL 活动操作,然后重试。如果问题仍然存在, 可能是由于另一个用户正在对该对象执行 DML/DDL 操作。请等待一段时间后重试。可参考VDS用户界面自定义表数据查看事务的行为。
为什么导出的查询结果与“结果”选项卡中的数据不同?
解答: 导出结果集数据时,会使用新连接重新执行查询。因此,导出的结果可能 与“结果”选项卡中显示的数据不同。
为什么上次登录信息显示为“未获取到上次登录信息”?
解答: 连接到旧版本数据库服务器,或在数据库创建后首次登录时,会显示该消息。
SQL 终端上的错误消息标记不正确。
解答: 当服务器返回错误的行编号时,会发生这种情况。可在“消息”页签重新 查看错误消息,并定位至对应编号的行修复错误。
导出 DDL 时会显示已删除的列信息吗?
解答: 不会,导出 DDL 操作会显示当前存在有效的列信息。
为什么修改-Xmx
参数后无法启动VDS?
解答: 如果-Xmx 的参数值无效,则可能发生该问题。详情请参见《Vastbase Data Studio 安装部署指南》安装配置章节。
如果我打开了多个终端或页签,如何更快地访问终端?
解答: 根据屏幕分辨率,打开的终端或选项卡的数量达到一定限制后,终端列表末尾的图标 会显示下拉选项。单击 图标并从下拉列表中选择所需的终端。如果 不可用,请根据工具提示来识别终端和选项卡。可输入以上“SQL 终端” 的列名称的值,来搜索终端名称。例如:
- *s:显示所有名称以 s 开头的终端
- test:显示所有名称以 test 开头的终端
- *2:显示所有名称以 2 开头的终端
为什么页面不显示上次登录的详细信息?
解答: 有时服务器在尝试获取上次登录详细信息时会返回错误。在这种情况下, 不会弹出上次登录的消息。
导出DDL时,为什么中文字符有时会显示为乱码?
解答: 中文显示为乱码是因为查看的 SQL 语句、DDL、对象名称或数据中包含中文,且 VDS客户端字符编码未设置为 GBK。设置 -> 首选项 ->设置 ->环境
,设置 VDS客户端字符编码为 GBK。
在 Windows 资源管理器中打开/查看导出的文件:对于使用 UTF-8 编码导出的文件,可双击查看,或右键单击文件并选择“打开”进行查看。对于以 GBK 编码导出的文件,必须使用 Microsoft Excel 的导入外部数据功能(“数据->获取外部数据-> 自文本”)。
支持的文件编码组合 如下表所示:
数据库编码 | VDS文件编码 | 是否支持表名包含中文 | 是否支持表名为英文 |
---|---|---|---|
GBK | GBK | 是 | 是 |
GBK | UTF-8 | 否 – 乱码 | 否 – 乱码 |
UTF-8 | GBK | 否 – 提示导出失败 | 否 – 乱码 |
UTF-8 | UTF-8 | 是 | 是 |
UTF-8 | LATIN1 | 否 – 提示导出失败 | 是 |
SQL_ASCII | GBK | 是 | 是 |
SQL_ASCII | UTF-8 | 否 – 乱码 | 否 – 乱码 |
为什么会收到“不支持 GBK 和 LATIN1 相互转换”的错误信息?
解答: 如果 VDS和所选的数据库编码不兼容,则会出现此消息。选择兼容的编码来解决该问题。
兼容的编码格式如下表所示:
VDS文件编码 | 数据库编码 | 是否兼容 |
---|---|---|
UTF-8 | GBK | 是 |
LATIN1 | 是 | |
SQL_ASCII | 是 | |
GBK | UTF-8 | 是 |
LATIN1 | 否 | |
SQL_ASCII | 是 | |
SQL_ASCII | UTF-8 | 是 |
LATIN1 | 是 | |
GBK | 是 |
为什么分布键无法编辑?
解答: 分布键仅能在执行第一次插入操作时编辑。
在编辑表数据的时候,如果没有在默认值列输入值,默认值是否会添加到数据库服务器?
解答: 默认值会添加到服务器,但不会在保存“编辑表数据”页签后显示。使用 “编辑表数据”页签中的刷新选项或再次重新打开该表可查看添加的默认值。
为什么当我右键单击一个文本框会看到其他上下文菜单选项?
解答: Windows 7 提供了附加的上下文菜单选项,如“从右到左阅读顺序”和“显示 Unicode 控制字符”等,以便您的键盘支持从左到右和从右到左的输入方式。
在启用“重用连接”选项并禁用“自动提交”选项的情况下,如果修改并保存了 查询的结果集,能否在 SQL 终端中提交查询?
解答: 不行。要提交查询,必须在 SQL 终端中执行 COMMIT 命令。
自动提交 | 重用连接 | 保存结果集 |
---|---|---|
启用 | 启用 | 保存 |
启用 | 禁用 | 保存 |
禁用 | 启用 | 不保存 |
禁用 | 禁用 | 不支持 |
在新的 SQL 终端窗口中查询临时表时,结果集中显示了错误的表信息。为什么会出现该问题?
解答: 在新的 SQL 终端窗口中查询临时表时,如果禁用了“重用连接”选项,且数据库中存在与该临时表同名的普通表、分区表或外表,结果集中会显示同名表的信息。如果启用“重用连接”选项,则结果集会显示该临时表的信息,无论是否存在同名表。
将表数据导出到 Excel 时,是否需要限制行和列大小?
解答: 需要。xlsx 格式最多支持 100 万行和 16384 列,xls 格式最多支持 64000 行和256 列。
为什么在VDS中创建函数/存储过程编译通过,但是调用的时候却报错?
解答: 首先检查数据库参数vbplsql_check
是否开启,检查方法:执行show vbplsql_check;
,结果为on或true时表示开启,此参数控制在创建plpgsql对象时是否进行语义检查,未开启的情况下创建函数/存储过程时不会进行语法校验,所以即使编译通过创建成功,也不一定可用,如果对象本身存在语义问题,那么在调用时就会报错。
为什么在Oracle兼容模式下开启大写参数uppercase_attribute_name
后,SQL编辑器更新查询结果报错?
解答: 开启uppercase_attribute_name
参数后查询返回的结果列名为大写,但系统表存储列名实际为小写,因此无法精确匹配,所以修改失败,处理方法:关闭该参数,执行set uppercase_attribute_name = off
,再次执行查询SQL,即可更新查询结果。
为什么编译存在问题的函数/存储过程时,报错定位不准确?
解答: VDS通过jdbc与数据库进行交互,目前jdbc只能给出错误字符位置,无法返回准确的错误行数。
为什么在编译窗口编辑存储过程后,通过快捷键ctrl+s进行保存,再次打开还是显示之前的DDL?
解答: VDS中快捷键保存是保存脚本到本地,数据库并未更新,所以再次打开依然显示旧的DDL,如果需要保存更改到数据库,请点击“编译”按钮,编译通过即可保存到数据库。
为什么在SQL终端编写创建函数DDL和调用该函数SQL,直接点击执行时会异常报错?
解答: 在SQL终端创建函数/存储过程时要在最后加上”/“,否则工具会将定义后边的语句一起识别为一条命令去执行,从而导致执行失败,建议创建函数或存储过程时使用函数/存储过程右键创建图形化窗口进行。
为什么通过图形化页面创建对象成功,但对象浏览器列表中不显示新建的对象?
解答: 图形化创建对象成功时,会自动刷新对象浏览器,但是如果当前对象浏览器搜索框存在内容,或配置了对象过滤器,就可能会导致新创建的对象被过滤掉了,处理方法:清除对象浏览器搜索框内容和对象节点过滤规则。
为什么编辑vbadmin用户所属对象时,所有者显示空白,且无法选择到vbadmin?
解答: VDS V2.3以下版本中过滤掉了超级用户,因此所有者中无法回显vbadmin。
处理方法:使用最新版本即可。
为什么图形化编辑对象时,SQL预览页签显示空白,无法查看对象DDL?
解答: 图形化操作对话框的SQL预览页签是用于显示本次图形化操作的SQL,编辑时仅显示修改配置对应的SQL语句,如需查看对象DDL,请查看属性-SQL预览页签或导出对象DDL。
为什么使用操作系统账号和数据库账号都无法连接命令窗口?
解答: VDS V2.4及之前所有版本中命令窗口使用数据库初始化用户SSH登录远程调用vsql来实现的,因此必须要使用数据库初始化用户以及SSH端口才能连接。
一段时间内未操作,再对数据库进行刷新,执行SQL时报错,提示执行出错,数据库会话发生严重错误,请重新连接?
解答: VDS中没有设置会话超时限制,请检查数据库的最大连接数和连接超时设置。
为什么在SQL终端鼠标光标行停留在多条SQL(包含DDL与DML)中间时点击执行会报错?
解答: 如果没有选中任何查询,那么只有光标所在行的查询才会被执行。如果光标处于一个空行,则将执行下一个可用的查询语句。如果光标处于最后一个空白行,则不会执行任何查询。如果单条查询以多行形式写入,且光标处于该条查询的任意一行,则执行该查询。多条查询使用英文分号(;)隔开。
为什么无法在编辑表时列页签中无法修改唯一约束?
解答: 唯一约束为表级约束,可能存在多列,因此只能在约束页签进行编辑或在约束管理中编辑。
创建包编译后创建视图引用包中函数,编辑包修改被引用函数名称,查看视图时数据库报错。
解答: 该问题为数据库机制问题,由于视图依赖对象被修改但未同步修改视图,导致视图不可用,VDS在查询视图DDL时报错。
用户只关心自己连接的数据库,如何隐藏其他数据库?
解答: VDS创建连接后默认展示该实例下全部数据库(database),如需要只展示一个数据库,可右键该数据库名称选择过滤器-仅显示该对象。
为什么包编译失败后包体程序内容会丢失?
解答: 该问题为数据库机制问题,Vastbase G100 V2.2.14及之前的版本,包编译时分开执行包头DDL与包体DDL,包体在编译时如果出现语法错误导致执行失败,而包头执行成功,由于使用了create or replace
的语法,会覆盖原来的包对象,因此包体变为空。
为什么在SQL终端编写SQL时部分关键字不高亮显示?
解答: VDS的关键字为程序内置的,部分关键字可能无法随数据库及时更新,因此不再内置范围内的关键字,系统无法识别,从而高亮显示。从V2.5版本开始支持用户自主配置关键字,可在首选项-编辑器-关键字中添加缺少的关键字。
VDS调试存储过程时如何设置断点?
解答: 启动调试后在左侧断点标尺双击,即可添加断点,再次双击断点即可删除。
VDS可以导出数据库参数配置吗?
解答: 在对象浏览器中要导出参数的数据库下双击参数配置菜单,即可打开参数配置页面,点击工具栏“导出全部”图标即可导出全部参数配置。
脚本文件过大无法执行时如何处理?
解答: VDS限制每个脚本文件不超过2000万字符,但同时支持批量执行脚本,因此当脚本过大时,建议切割为多个脚本,每个脚本不超过2000万字符即可成功执行。
VDS日志文件的目录?
解答:在使用VDS的过程中,当用户现场遇到问题需要进行分析和定位时,日志的提供是至关重要的。如果未对日志目录进行自定义修改,通常会在默认路径下查找和收集日志信息。
默认日志路径位于:Vastbase DataStudio\Userdata< 用户名>\logs