当前位置:首页 » 操作系统 » c操作oracle数据库

c操作oracle数据库

发布时间: 2023-01-31 16:50:05

A. 用CDatabase中OpenEx直接连接Oracle数据库,连接字符串该怎么写

数据库编程的思路都是一致的:打开数据库连接-》执行sql语句-》获得查询结果-》关闭数据库连接,不同的数据库访问技术有不同的要求,比如用C API诘问MySql数据库的时候还得释放查询结果集。
ODBC访问数据库得配置数据源

配置ODBC数据源:打开控制面板下的“数据源”,弹出“ODBC数据源管理器”,选择DSN选项卡-》添加->你选择你的SQL Server选项,单击完成。如图然后你再按照向导提示添加。

代码中用ODBC访问数据库你得加上afxdb.h头文件,
用CDataBase 类连接数据库、CRecordSet类查询记录。
现在在VC访问数据库常用的是ADO访问,你可以找一下我前面的回答有ADO访问数据库的步骤。

CDataBase m_cODBCDb;
用CDataBase类的OpenEx()函数打开数据库连接。连接字符串你自己构造一下。
定义一个与上面数据库相关的查询对象
CRecordSet m_cODBCRec(&m_cODBCDb);
用这个查询对象的open方法就可以执行SQL语句与数据库交互了;

现在用VC、MFC访问数据库常用的技术是ADO,学学这个吧。难点、但很实用!

导入ADO库
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF")
2、用导入的动态库的指针操作数据库.
打开数据库连接
_ConnectionPtr m_pConn; // 数据库连接指针
// 创建Conneciton对象
m_pConn.CreateInstance(_T("ADODB.Connection"));
用ConnectionPtr 的open方法m_pConn->Open(_bstr_t(m_sConn),
_T(""), _T(""), lOptions));
m_sConn为你连接数据库的信息,你应该按照你的要求打开数据库

然后你用打开的那个连接进行操作数据库。比如
_RecordsetPtr pRec = m_pConn->Execute(_bstr_t(pszSql), NULL, CmdText);
pszSql 就你要操作数据库的SQL语句。在这个SQL语句里你可以创建表、更新表等。

用ADO访问的时候要求初始他COM库和释放COM对象
// 初始化COM环境(库)
::CoInitialize(NULL);
//释放COM对象
::CoUninitialize();

B. C#如何无客户端连接Oracle数据库

oracle不能无客户端连接的,其实sqlserver也不是没有客户端,早期的版本也是要安装sqlserver客户端的,后来因为ms在pc系统的绝对统治地位,他吧sqlserver客户端的功能做到操作系统里了
如果你需要的是在C/S架构下,客户端电脑不安装oracle数据库客户端,就实现数据库交互的解决方案,可以使用webservice或者wcf等技术提供服务,无就是C/S中的S端访问数据库,这样只需要在你的前置服务器(S端)上安装一次oracle客户端 ,就可以了,客户端(C端)不安装oracle客户端,数据交互都交给服务端去操作,客户端值实现数据展示和服务请求就可以简化客户端部署的工作了

C. 如何利用c语言,oracle数据库开发出一个进销存系统

这个涉及到数据结构和数据库知识。要在C语言中设计好数据的结构体,然后熟悉文件的读写操作。将文件保存成数据库可以识别的文件格式才行。或者直接在ORACLE里面建立数据源,然后阅读一些oracle的数据操纵语言,通过C的一些编译器来连接数据库,设定数据源。可以看看oracle与C语言的访问书籍。

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

我只会在unix下面写,嘿嘿win的我还不会呢。。
把代码贴上。至于怎么
编译,再查查吧~
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;
}

E. 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;
}

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

F. LINUX C/C++用什么连接oracle数据库啊解决办法

在Windows的控制面板中,查找ODBC数据源,配置一个能够连接Oracle的数据源,并测试能够成功连接。然后在VS中连接这个数据源即可。

G. 有关c语言的proc连接oracle数据库的问题

在main.pc的insert 函数前加上extern


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

H. C#中如何把Oracle数据库查询的结果集返回

1、首先通过DLL方式进行连接数据库, 也是一个比较通用的方式,项目引入后,即可使用,非常方便,使用之前如有把封装的DLL文件引入自己的项目中,项目里就可以直接调用。

I. 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;
}

热点内容
gcc编译怎么知道错误的行数 发布:2025-07-14 00:06:21 浏览:383
压强算法 发布:2025-07-14 00:02:52 浏览:552
dns怎么配置端口 发布:2025-07-13 23:49:16 浏览:761
苹果服务器为什么停止响应 发布:2025-07-13 23:49:15 浏览:197
车载安卓导航usb接口在哪里 发布:2025-07-13 23:39:54 浏览:932
保定少儿编程培训班 发布:2025-07-13 23:30:04 浏览:82
亲缘关系算法 发布:2025-07-13 23:21:59 浏览:580
明明输对了密码为什么充值不了 发布:2025-07-13 23:20:34 浏览:331
手机视频直播视频源码 发布:2025-07-13 23:19:07 浏览:838
进制编程图 发布:2025-07-13 23:17:31 浏览:270