Oracle访问的多种方式(oracle访问方式)

ORACLE 是一种关系数据库管理系统,它的出现极大地丰富了关系数据库的存储模式,并提供出色的查询语言以及强大的可扩展性,使我们能够更快捷,安全地使用多种数据库。Oracle本身就是一款强大的数据库服务器,因此要理解它的访问方法,也非常重要。

当我们访问Oracle时,方法繁多,如SQL *Plus 和 PL/SQL等比较常用的访问Oracle,对于程序开发人员,还可以利用一种特殊的 API 接口,如OCI、 ProC 和JDBC 等。

SQL *Plus 是Oracle 中比较基础的访问方法,可以用SQL 以及SQL*Plus 的命令实现对数据库的查询, 如建立用户,创建表,建立角色,创建索引等。例如,下面的代码可以用来创建一个名为“TEST”的表:

CREATE TABLE TEST

(ID NUMBER,

NAME VARCHAR2(50),

CITY VARCHAR2(50))

PL/SQL 是 Oracle 的一种语言,它可以用于实现变量、操作符、抽象数据类型、PL/SQL 命令和数据库概念的交互操作。 例如,下面的代码可以创建一个Test表,并定义一个变量“cnt”来接收表中的总记录数:

CREATE OR REPLACE FUNCTION count_test RETURN NUMBER AS

cnt NUMBER;

BEGIN

SELECT COUNT(*) INTO cnt FROM TEST;

RETURN cnt;

END;

/

OCI 是 Oracle C 语言接口,它使开发人员可以使用Oracle数据库连接,并实现对数据库的相关操作。例如,下面的代码可以建立一个OCI环境,加载到Oracle 连接:

#include

#include

/* 连接数据库 */

OCIServer *srvhp = (OCIServer *)0;

OCIEnv *envhp = (OCIEnv *)0;

OCISession *authp = 0;

OCISvcCtx *svchp = 0;

text *username = (text *)”username”;

text *password = (text *)”password”;

text *servername = (text *)”servername”;

/* Initialize the environment */

OCIEnvCreate(&envhp, OCI_DEFAULT, 0, 0, 0, 0, 0, 0 );

OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &srvhp,

OCI_HTYPE_SERVER, (size_t) 0, (dvoid **) 0);

OCIServerAttach( srvhp, errhp, (text *) servername,

(sb4) strlen((char *) servername), 0);

OCIAttrSet((dvoid *) authp, OCI_HTYPE_SESSION, (dvoid *) username,

(ub4) strlen((char *) username),

OCI_ATTR_USERNAME, errhp);

OCIAttrSet((dvoid *) authp, OCI_HTYPE_SESSION, (dvoid *) password,

(ub4) strlen((char *) password),

OCI_ATTR_PASSWORD, errhp);

/* Connect to the database */

OCISessionBegin( svchp, errhp, authp, OCI_CRED_RDBMS, OCI_DEFAULT);

另外,JDBC是基于Java的数据库连接,可以让用户利用Java连接Oracle ,并实现SQL语句的执行。例如,下面的代码可以连接到Oracle数据库:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

Connection con=DriverManager.getConnection(“jdbc:oracle;thin:@//localhost:1521/xe”,”username”,”password”);

此外,ProC 也是一种常用的Oracle访问方法,它可以把SQL语句集成到C语言程序中,使用者无需学习SQL语法就可以使用SQL语句操作Oracle数据库。例如,下面的代码可以打开一个和Oracle数据库的连接:

EXEC SQL BEGIN DECLARE SECTION;

char user[25];

char password[25];

EXEC SQL END DECLARE SECTION;

strcpy(user,”username”);

strcpy(password,”password”);

EXEC SQL CONNECT :user IDENTIFIED BY :password;

从上面的代码可以看出,有多种方式可以访问Oracle,SQL *Plus 和 PL/SQL 是比较基础的访问方式,而OCI 、ProC 和JDBC 等更针对性更强,可以更加便捷、安全地连接到Oracle 服务器,根据自己的需求任选一种比较适合自己的访问方式即可。


数据运维技术 » Oracle访问的多种方式(oracle访问方式)