重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

linux系统信息命令,linux查系统信息的命令

怎么把C语言和Oracle11g连接在一起

有三种办法:

专注于为中小企业提供成都做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业荣成免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

1、用ODBC,安装ODBC驱动,使用微软提供的ODBC的API访问数据库;

2、用ORACLE提供的OCI API调用方式;

3、用ORACLE提供的PRO C方式。

如果你熟悉SQL,建议用方式3,如果熟悉ODBC,建议用方式1,方式2比较麻烦些。

以下代码是我用PRO C编写的,供参考:

int ProcConnect(char * sDatabaseName,char * sUserName, char * sPassword)

{

EXEC SQL CONNECT :sUserName IDENTIFIED BY :sPassword USING :sDatabaseName;

if(DBError("Connect Database failed.")) return FALSE;

else return TRUE;

}

/*===========================================================================*/

void ProcCommit()

{

EXEC SQL COMMIT;

}

/*===========================================================================*/

void ProcCommitRelease()

{

EXEC SQL COMMIT RELEASE;

}

/*===========================================================================*/

void ProcRollback()

{

EXEC SQL ROLLBACK;

}

/*===========================================================================*/

void ProcRollbackRelease()

{

EXEC SQL ROLLBACK RELEASE;

}

/*===========================================================================*/

int DBError(char * sMsg)

{

char sErrMsg[1024];

int nRetCode;

size_t szBuf_len, szMsg_len;

if (sqlca.sqlcode = 0) return FALSE;

szBuf_len = sizeof(sErrMsg);

sqlglm(sErrMsg, szBuf_len, szMsg_len);

sErrMsg[szMsg_len] = 0;

sprintf(sDBErrorBuff,"\r\nSQL DBError point:%s", sMsg);

sprintf(sDBErrorBuff+strlen(sDBErrorBuff),"\r\nsqlcode = %d,%s\r\n", sqlca.sqlcode, rTrim(sErrMsg));

if(OraDBDisconnected)

{

printf("The DBConnection was broken!\r\n");

exit(-1);

}

else nRetCode = TRUE;

printf("%s\r\n",sDBErrorBuff);

return nRetCode;

}

请问我用c语言连接oracle 10g,应该怎么做?

连接数据库的方法有很多种。C语言最常用的是ODBC,最好你自己参考下网络上关于ODBC的资料。也可以使用ADO来连接,这个比较方便,但需要自己导入ADO的库。

其实不论是什么数据库,只要不是自己纯手动去连接,其基本连接方法以及操作方法,都是差不多的。比如ADO,不同的数据库,其连接基本上只是连接字符串的不同,系统,包括操作系统和数据库系统,在底层都有接口的统一封装。

oracle10客户端如何连接19c

第一步,前往oracle官方网站下载oracle19c(这里是windows版本)并且下载好PLSQLdeveloper客户端以及oracle提供的连接工具instantclient。

2、安装oracle19c把安装包存放在指定的目录下放好,解压后点击进去安装。

3、中间过程中会需要设置基目录和数据库文件位置自行指定位置,并且设置好口令(此口令是sys超级管理员的密码),点击下一步。

4、安装完成后,在命令窗口下执行services.msc查看oracle相关服务是否正常开启正常开启之后,可以进行下一步的安装PLSQLdeveloper,点击下一步即可。

5、打开plsqldeveloper,点击cancel,随后打开plsqldevelope的主界面,点击configure,点击最左边的preferences。

6、之后找到instantclient的目录以及instantclient目录下的oci.dll文件路径,将其设置在下面图片的对应位置上。

6、设置好关闭,点击登录session菜单下的logon。

2=7、使用管理员登录账号为sys,密码为安装时设置的口令,database设置ORCL,点击登录就连接上oracle了。

8、编辑tnsnames.ora,替换和增加。

9、保存后重新启动监听,lsnrctlstop,lsnrctlstart打开命令行,输入lsnrctlstop,停止后再输入lsnrctlstart重新连接oracle。

c程序通过什么连接oracle

一般C语言连接oracle数据库通过使用oracle提供的OCI接口和PROC编程接口两种方式。

OCI方式纯粹是一些函数接口。

PROC是oracle提供的一种C与ORACLE SQL的混合编程。程序(以.pc为后缀)编好之后,使用oracle提供的proc预编译程序,将pc文件编译成c文件(这一过程,相当于将SQL转换为OCI的接口),然后再使用c语言编译器生成可以执行文件。

OCI方式不容易入门,它拥有大量的接口函数,要很快熟悉它,非常难。但OCI方式的编程效率很高。

porc方式简单易用。可用于对性能要求不太高的项目。

c连接oracle数据库的连接语句

连接代码如下:

int main()

{

EXEC SQL BEGIN DECLARE SECTION;

char oc_passwd[101]; /*数据库密码*/

char oc_userid[101]; /*数据库用户名*/

char oc_dbname[101]; /*数据库名*/

char oc_coad[101];

EXEC SQL END DECLARE SECTION;

memset(oc_passwd, 0x00, sizeof(oc_passwd));

memset(oc_userid, 0x00, sizeof(oc_userid));

memset(oc_dbname, 0x00, sizeof(oc_dbname));

/*取数据库用户名*/

strcpy(oc_userid, "userid");

/*取数据库用户密码*/

strcpy(oc_passwd, "passwd") ;

/*取数据库名*/

strcpy(oc_dbname, "dbname");

EXEC SQL CONNECT :oc_userid

IDENTIFIED BY :oc_passwd

USING :oc_dbname;

if (sqlca.sqlcode != 0)

{

printf("用户名[%s]密码[%s]数据库[%s]\n", oc_userid, oc_passwd, oc_dbname);

printf("连接数据库失败,sqlcode=%d\n", sqlca.sqlcode);

return -1;

}

/*读table取coad字段*/

memset(oc_coad, 0x00, sizeof(oc_coad));

EXEC SQL SELECT coad

INTO :oc_coad

FROM table

WHERE 1=1;

if (sqlca.sqlcode == NORECORD)

{

printf("查询无记录\n");

return -1;

}

else if (sqlca.sqlcode != 0)

{

printf("查询失败,sqlcode=%d\n", sqlca.sqlcode);

return -1;

}

return 0;

}

windows系统下,c如何连接oracle数据库?

首先,这类问题应该问到编程区去,这是软件喔

########insert.pc############

#include stdio.h

EXEC SQL INCLUDE SQLCA;

void insert (char password_[6],char id_[20],int balance_)

{

EXEC SQL BEGIN DECLARE SECTION;

VARCHAR user[20],pass[20],tnsname[20];

char password[6];

char id[20];

int balance;

EXEC SQL END DECLARE SECTION;

strcpy(user.arr,"scott");

user.len=(unsigned short)strlen((char *)user.arr);

strcpy(pass.arr,"tiger");

pass.len=(unsigned short)strlen((char *)pass.arr);

strcpy(tnsname.arr,"demo1");

tnsname.len=(unsigned short)strlen((char *)tnsname.arr);

strcpy(id,id_);

strcpy(password,password_);

balance = balance_;

EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;

EXEC SQL insert into bank_bingo values (:id , :password , :balance);

EXEC SQL COMMIT WORK;

EXEC SQL commit work release;

}

#################main.c####################

#include stdio.h

extern void insert (char password_[6],char id_[20],int balance_);

int main(int argc , char ** argv){

char id [20] = "10001";

char password[6] = "123";

int balance = 10000;

insert(password , id , balance);

return 0;

}

############################################


名称栏目:linux系统信息命令,linux查系统信息的命令
转载来源:http://cqcxhl.cn/article/hejocg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP