一般C语言连接oracle数据库通过使用oracle提供的OCI接口和PROC编程接口两种方式.
OCI方式纯粹是一些函数接口.
PROC是oracle提供的一种C与ORACLE
SQL的混合编程.程序(以.pc为后缀)编好之后,使用oracle提供的proc预编译程序,将pc文件编译成c文件(这一过程,相当于将SQL转换为OCI的接口),然后再使用c语言编译器生成可以执行文件.
OCI方式不容易入门,它拥有大量的接口函数,要很快熟悉它,非常难.但OCI方式的编程效率很高.
porc方式简单易用.可用于对性能要求不太高的项目.
第一段:MySoft.Data说明
①.、简介
MySoft是一套开源小型框架,包含ORM、Ajax、MVC、Net、Web等.MySoft.Data就是其中的ORM框架.支持多种不同数据库,如SqlServer、Oracle、MySql、SQLite、Firebird、Access等.MySoft.Data是一种轻量级的能替代SQL语句的易用的ORM框架
第二段:MySoft.Data使用步骤说明
a) 安装SetupEntityVsPlugin
b) 生成实体文件MySoft.Tools.EntityDesign
使用MySoft.Tools.EntityDesign生成实体文件.
说明:以上步骤是生成实体接口的步骤,在解决方案里新建一个项目文件把该生成的实体文件添加到项目里.该项目文件最好只存放实体接口类,对实体的说明性注释都在接口文件里操作.
c) EntityDesignConifg.xml配置文件
①.、 把EntityDesignConifg.xml文件添加到实体接口类的项目里
d) 生成实体文件
以上步骤做完后,编译实体接口项目,即生成了实体类.把生成的实体类添加到相应的项目里即可
e) 编写代码
在相应的项目里编写代码,可以直接引用生成的实体.注意命名空间.
第三段:MySoft.Data使用代码简单说明
a) DbSession
DbSession是MySoft.Data的数据库操作会话对象,是所有数据库操作的入口.
实例化:
①.、指定DbSession操作的数据库
DbSession dbSession = new DbSession(MySoft.Data.ProviderFactory.Default);
dbSession.From实体类名()
①.、 Count:返回记录的条数
①.0、 ToList:返回ISourceList
①.1、 ToList:返回指定类型的ISourceList
dbSession.Delete实体类名(new WhereClip("条件"))
dbSession.Update实体类名(字段参数组,值参数组,new WhereClip("条件"))
dbSession.Save实体类名(实体实例)
dbSession.Insert实体类名(字段参数组,值参数组)
dbSession.Exists实体类名(new WhereClip("条件"))
dbSession.Single实体类名(new WhereClip("条件"))
①.0、Count 统计条数功能
dbSession.Count实体类名(new WhereClip("条件"))
①.1、Max 统计最大功能
dbSession.Max实体类名(实体字段, new WhereClip("条件"))
dbSession.Min实体类名(实体字段, new WhereClip("条件"))
dbSession. AVG 实体类名(实体字段, new WhereClip("条件"))
b) DbBatch
批量执行操作
DbBatch batch = dbSession.BeginBatch();
①.、 batch.DeleteStockConfig 做删除操作
说明:该操作一个批量只用使用相同一操作,Delete,Insert,Update,Save只是标识操作,只有执行了Process才是真正的操作了
c) DbHelper
执行DB帮忙操作
DbHelper helper = new DbHelper("连接字符串", ProviderFactory.Default);
d) DbTrans
事务
DbTrans tran = dbSession.BeginTrans();
其它操作和VS自带事务操作一样,只是操作数据用tran来操作.
e) ProviderFactory
数据库提供者工厂类
ProviderFactory.Default
ProviderFactory. CreateDbProvider
ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的.
在普通的情况下,用户可以通过SQL和PL/SQL来访问数据库中的数据.ORACLE数据库除了提供SQL和PL/SQL来访问数据库外,还提供了一个第三代程序设计语言的接口,用户可以通过C、COBOL、FORTRAN等第三代语言来编程访问数据库.OCI就是为了实现高级语言访问数据库而提供的接口.OCI允许开发者在程序里使用SQL和PL/SQL来访问数据库.开发者可以使用第三代语言来编写程序,而使用OCI来访问数据库.
然后开始配置PB,打开DB画板,在菜单tools下的Database Painter
选择下边提供的接口中对应你ORACLE版本的一个,然后点右键,选New Profile,打开配置页.
配置页打开后,选择其中的connection那一页,打开默认就是这个页.
profile name是你配置在本地的名字,所以这个你可以随便取,只要自己通过名字知道是哪个库就好. server这一项,需要按照你配置net服务名的时候配置的服务名填写,必须是你配置的服务名.logid和password不用说了,数据库登录用户和密码.connect as默认就可以.
然后选preview这一页,点test connection测试一下,看看,如果提示成功没问题,配置结束.PB配置完成了.如果失败,你可以试试选择system那一页,把powerbuilder catalog table owner:这一项后边的值(默认是SYSTEM)改成你在第一页配置的logid的值试试.
基本这几步结束后,就能配置成功了.