返回首页

gbase数据、南大通用产品文档:GBase8s类型高速缓存信息

更新日期:2024年09月11日

当将某些数据类型的对象插入至某些其他数据类型的列内时,
GBase 8s JDBC Driver 通过调
用 SQLData.getSQLTypeName() 方法,
来核实提供的数据与数据库服务器期望的数据是否相
匹配。驱动程序询问数据库服务器随同每一插入的类型信息。
这会在下列情况下发生:

当 SQLData 对象将输入插入至 opaque 类型列,且 getSQLTypeName() 返回该
opaque 类型的名称时

当 Struct 或 SQLData 对象将数据插入至行列,且 getSQLTypeName() 返回命名的行
的名称时

当 SQLData 对象将数据插入至 DISTINCT 类型列时。
在数据库 URL 中,可设置环境变量 ENABLE_TYPE_CACHE=TRUE,以使得在首次检索
时驱动程序高速缓存该数据类型信息。然后,在从数据库服务器请求数据之前,驱动程序
向高速缓存请求该类型信息。

建表时指定表空间
功能说明
创建表时可以指定要使用的TABLESPACE,
不做指定则使用库的默认表空间。

区表作为一个表来看待,只能指定一个tablespace,不支持为不同分区指定不同
tablespace。
语法格式
CREATE TABLE [[vc_name.]database_name.]table_name (column_def...) TAB
LESPASCE=tablespace_name;
表5- 65 参数说明
参数名称


vc_name
虚拟集群名称,可选项。
database_name
数据库名称,可选项。
table_name
表名称。
tablespace_name
表空间名称。
说明

CREATE TABLE …LIKE…不支持指定表空间;

CREATE TABLE …AS SELECT…支持指定表空间。

通过GBase ADO.NET 接口修改GBase Server 数据需要下面的步骤:
1) 使用GBaseConnection 创建数据库连接对象
2) 使用GBaseCommand 创建命令对象
3) 使用连接对象打开连接
4) 设置命令对象的CommandText 属性,指明SQL 修改语句(Insert 或

GBase 8a 程序员手册ADO.NET 篇


- 20 -

南大通用数据技术股份有限公司
Delete 或Update)
,并关联连接对象
5) 调用GBaseCommand 的ExecuteNonQuery 方法执行SQL 修改语句
6) 关闭数据库连接
下面的例子将展示如何打开数据库连接,向test 表插入一条数据,可以使
用同样的步骤Delete 或者Update 数据。
C# 示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Data;
using GBase.Data.GBaseClient;

namespace UsingAdoNet
{
class Program
{
static void Main(string[] args)
{
String _ConnStr = "server=192.168.5.41;user
id=root;password=1;database=test;pooling=false";
using (GBaseConnection _Conn = new
GBaseConnection(_ConnStr))
{
try
{
tring _CmdText = "insert into
`test`(`varchar_column`) values(‘varchar_value’) ";
GBaseCommand
_Cmd
=
new
GBaseCommand(_CmdText,
_Conn);




GBase 8a 程序员手册ADO.NET 篇
南大通用数据技术股份有限公司

- 21 -
_Conn.Open();
_Cmd.ExecuteNonQuery();
}
catch (GBaseException ex)
{
Console.WriteLine(ex.StackTrace);
}
finally
{
if( _Conn != null )
_Conn.Close();
}
}
}
}
}