返回首页

gbase数据、南大通用产品文档:GBase8s执行外部备份与恢复

更新日期:2024年09月11日

这些主题将讨论如何执行外部备份以及通过使用 ontape 实用程序将其恢复来恢复数据。

用户管理
通过本功能您可以对用户进行新增、修改、删除、赋权等操作,左侧树菜单如
下图所示:
图5- 744 用户管理左侧树

SQLExtendedFetch 扩展 SQLFetch 的功能。
SQLExtendedFetch 通过以下方式扩展功能:

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 223 -

l 为每个绑定列返回数组形式的行集数据(一行或多行)。
l 根据滚动类型参数的设置滚动结果。
SQLExtendedFetch 与 SQLSetStmtOption 一起使用。
要一次向前获取一行数据,应用程序会调用 SQLFetch。
下表描述了 SQLExtendedFetch 的 SQLSTATE 和错误值。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
01004
-11003
Data truncated
01S01
-11006
Error in row
07006
-11013
Restricted data type attribute violation
08S01
-11020
Communication-link failure
22002
-11024
Indicator value required but not supplied
22003
-11025
Numeric value out of range
22005
-11026
Error in assignment
22008
-11027
Datetime field overflow
22012
-11028
Division by zero
24000
-11031
Invalid cursor state
40001
-11037
Serialization failure
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1002
-11062
Invalid column number
S1008
-11065
Operation canceled
S1010
-11067
Function-sequence error
S1106
-11086
Fetch type out of range
S1107
-11087
Row value out of range
S1C00
-11092
Driver not capable
S1T00
-11094
Time-out expired
08S01
-11301
A protocol error has been detected. Current connection is
closed.
S1000
-11307
In SQLExtendedFetch, only SQL_FETCH_NEXT is
supported for SQL_SCROLL_Forward_only cursors

如果发生与整个行集相关的错误,例如 SQLSTATE S1T00 (超时),则驱动程序返回
SQL_ERROR 和适当的 SQLSTATE。行集缓冲区的的内容未定义,游标位置不变。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 224 -

如果发生与单个行相关的错误,则驱动程序执行以下操作:
l
将行 rgfRowStatus 数组中的元素设置为 SQL_ROW_ERROR
l
在错误队列中发布 SQLSTATE 01S01(行中的错误)
l
在错误队列中的 SQLSTATE 01S01(行中的错误)之后,发布零个或多个附加的
SQLSTATE 值
驱动程序处理错误或警告之后,它继续行集中剩余的操作,并返回
SQL_SUCCESS_WITH_INFO。因此,对于与单个行相关的每个错误,错误队列包含
SQLSTATE 01S01(行中的错误),后跟零个或多个附加的 SQLSTATE 值。
驱动程序处理该错误之后,
它访存行集中的剩余的行,
并返回 SQL_SUCCESS_WITH_INFO。
因此,对于返回错误的每一行,错误队列包含 SQLSTATE 01S01(行中的错误),后跟零
个或多个附加的 SQLSTATE 值。
如果行集包含已经访存的行,则当首次访存行时,驱动程序不需要返回错误的 SQLSTATE
值。但是,对于最初返回错误的每一行,它需要返回 SQLSTATE 01S01(行中的错误),
和 SQL_SUCCESS_WITH_INFO。例如,维护高速缓存的静态游标可能会缓存行状态信息
(因此,它可以确定哪一行包含错误),但是不能缓存与错误相关的 SQLSTATE。
错误行不会影响相关游标的移动。例如,假定结果集大小为 100,行集大小为 10。如果当
前行集是从 11 到 20 的行,并且 11 行的 rgfRowStatus 数组中的元素是
SQL_ROW_ERROR,则使用 SQL_FETCH_NEXT 访存类型调用 SQLExtendedFetch 仍然
返回 21 到 30 行。
如果驱动程序返回任何警告,例如 SQLSTATE 01004(数据截断),则在返回适用于整个
行或行集中位置行的警告,然后返回特定行的错误信息。它返回关于这些行的任何其它错
误信息的特定行的警告。