返回首页

gbase数据、南大通用产品文档:GBase8s访问外部数据库对象

更新日期:2024年09月11日

要访问外部数据库对象:

您必须持有对这些对象的适当的访问许可。

必须将两个数据库都设置为相同的语言环境。
重要: 分布式事务不可访问另一 GBase 8s 服务器实例的数据库中的对象,除非两个服务
器实例都支持 TCP/IP 连接或 IPCSTR 连接,如同在它们的 DBSERVERNAME 或
DBSERVERALIASES 配置参数中以及在 sqlhosts 信息中定义的那样。此连接类型要求应用
于 GBase 8s 数据库服务器实例之间的任何通信,即使两个数据库服务器都驻留在同一计算
机上。

9 SQL 编程
前面的示例似乎将 SQL 作为一种交互的计算机语言;即,似乎您可以直接将 SELECT 语
句输入数据库服务器内并查看回滚给您的数据行。
当然,情况并非如此。在您与数据库服务器之间存在许多软件层。在可显示数据之前,数
据库服务器以必须格式化的二进制形式保留数据。它不会立即返回大量数据;当程序请求
它时,它一次返回一行。
您可使用 DB-Access 通过交互的访问,通过以诸如 GBase 8s ESQL/C这样的 SQL API 编
写的应用程序,或通过诸如 SPL 这样的应用程序语言,来访问您的数据库中的信息。
几乎所有程序都可包含 SQL 语句,执行它们,并从数据库服务器检索数据。本章节说明
如何执行这些活动并指示您可如何编写执行它们的程序。
本章节介绍使用任何语言进行 SQL 编程的常见概念。在您可以特定的编程语言编写成功
的程序之前,您必须先熟悉那种语言。然后,由于每种语言中处理的细节都不同,因此您
必须熟悉特定于那种语言的 GBase 8s SQL API 的出版物。

声明与列相同类型的变量
在本例中,surname变量继承了变量name的数据类型、大小和 NOT NULL约束。因
为 surname 没有继承名称的初始值,所以它的声明需要一个初始值(不能超过25个字符)。
DECLARE
surname employees.last_name%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('surname=' || surname);
END;


GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 12 -

--Result:
--surname=

编写使用 ConnectionPoolDataSource 对象的代码与编写使用 DataSource 对象的代码相同。

加的调整参数使您或您的数据库管理员使用连接池管理器控制连接池管理的某些方面。这
些都在连接池中有完整的描述。下表总结了这些属性。
属性
getXXX() 和 setXXX() 方法签名
IFMX_CPM_ENABLE_SWITCH_HDRPOOL
public void setIfxCPMSwitchHDRPool

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

属性
getXXX() 和 setXXX() 方法签名
(boolean flag) public int
getIfxCPMSwitchHDRPool()
IFMX_CPM_INIT_POOLSIZE
public void setIfxCPMInitPoolSize
(int init)
public int getIfxCPMInitPoolSize()
IFMX_CPM_MAX_CONNECTIONS
public void setIfxCPMMaxConnections
(int limit)
public int getIfxCPMMaxConnections()
IFMX_CPM_MIN_POOLSIZE
public void setIfxCPMMinPoolSize
(int min)
public int getIfxCPMMinPoolSize()
IFMX_CPM_MAX_POOLSIZE
public void setIfxCPMMaxPoolSize
(int max)
public int getIfxCPMMaxPoolSize()
IFMX_CPM_MIN_AGELIMIT
public void setIfxCPMMinAgeLimit
(long limit)
public long getIfxCPMMinAgeLimit()
IFMX_CPM_MAX_AGELIMIT
public void setIfxCPMMaxAgeLimit
(long limit)
public long getIfxCPMMaxAgeLimit()
IFMX_CPM_SERVICE_INTERVAL
public void setIfxCPMServiceInterval
(long interval)
public long getIfxCPMServiceInterval()