C#与Oracle数据库

一.连接Oracle数据库

  1. 安装客户端: oracle数据库搭建在远程服务器上,本地只需要装个客户端,然后在安装目录下(D:\app\fangs\product\12.1.0\client_3\Network\Admin ,不一定是D盘) 配置tnsnames.ora,配置可以参考同目录下的Sample 文件夹中的内容。就是指明连接名,远程ip,servicename/SID。 然后可以利用sql develper工具打开数据库,查看数据库中的所有内容。
  2. c#程序通过ADO.NET连接:  首先创建连接字符串 : string connStr ="DATA SOURCE=***;PASSWORD=***;USER ID=**" ,以及后续的ADO.NET 操作就可以连接上数据库了。
  3. 获取数据:参考 MSDN MSDN ado.net

    I.       建立数据库连接,conn.open()

    II.      创建DataAdapter,这是数据库与DataSet对象之间的连接

    III.     声明并创建一个DataSet对象实例,然后才能开始加载数据,该名称可以包含若干独立的表

    IV.    DataAdapter提供Fill,与FillSchema方法。

    FillSchema方法会加载一些数据表信息,列名,约束等。

    V.      DataSet中的Tables集合内独立的DataTable对象来提供数据

    VI.    DataTables.Row可以访问每一行

二 C#中的数据类型与 Oracle 数据库字段类型对应关系

参考此篇文章

特别注意的是oracle数据库中 Number(10,1)这种类型的就可以用decimal

三.sql

一 中需要进行sql的传入,所以这里讲下sql 字符串的写法。

  1. string [email protected]"";:@:C#中特殊的字符串声明方式,叫做 “逐字字符串”(verbatim strings),使用这个符号会告诉编译器这是个逐字字符串,它本身常用于写指定文件或目录的路径,因为它会通知编译器将 ’\‘作为文本常量而不是转义字符。在这里使用它是因为 sql语句可能很长,他支持换行写字符串
  2. 传参数给sql : string sql = @"nsert  into A Values(:ID_NUM) 用 :表明这是个变量,这是oracle数据库的表达方式。其他数据库使用其他标示方式,如sqlserver使用@。注意这里的参数名不能使oracle数据库的关键词,否则会报错,显示这个参数名无效 。
  3. sql 语句加 常量:eg. where a>2 ,将2定义为 类 Constants中的一个变量 count 。就可以写成 where a> ‘" + Constants.count + @"‘  一定要注意空格,否则可能识别不出关键词

备注:在c#中写sql语句时,先将sql语句放在sql developer中执行,确保sql语法没有错误,再写到程序中。像上面提到的 传参 用 “:”标记,sql developer中都是可以检查出来的

时间: 2024-08-28 01:42:26

C#与Oracle数据库的相关文章

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

Oracle数据库——触发器的创建与应用

一.涉及内容 1.理解触发器的概念.作用和类型. 2.练习触发器的创建和使用. 二.具体操作 (实验) 1.利用触发器对在scott.emp表上执行的DML操作进行安全性检查,只有scott用户登录数据库后才能向该表中执行DML操作.(第1题中,user是系统函数,返回当前用户.字符串中使用两个单引号表示一个单引号.) 要求:分别以system用户和scott用户对emp 表执行DML操作,试验触发器的运行效果. (1)在scott用户下创建触发器 语句: create or replace t

使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 开启服务 2 配置监听 找到下面文件: 记事本打开 在导航器的下拉菜单中选择:将数据库添加到树, 然后点击确定 然后使用PL/SQL就可以登录了: 3 建立新表空间和新用户 使用system用户登录:执行如下sql语句建立表空间和新用户,以及给用户授权 建立表空间 Create tablespace myyyjc datafile 'D:\app\Administra

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性 作者:赵全文  网名:guestart 我们生产环境的Oracle数据库都做了RMAN备份,是采用了一周的RMAN备份保留策略:除了使用RMAN备份以外,我们还使用了爱数(Eisoo)备份软件来进行备份,可以说是做到了有备无患.可是,如果有一天,Oracle数据库由于主机层面硬件原因或是数据库层面的原因不能对外提供高可用服务的时候,假设数据丢了一大部分,我们只有用RMAN备份来进行恢复,再如果发现,RMAN备份失效了,那就往地缝里

PL/SQLDeveloper导入导出Oracle数据库方法

前一篇博客介绍了Navicat工具备份Oracle的方法,这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据库用于导入导出数据库的主要工具之一,本文主要介绍利用PL/SQL导入导出Oracle数据库的过程. 1.Oracle数据库导出步骤 1.1 Tools→Export User Objects...选项,导出.sql文件. 说明:此步骤导出的是建表语句(包括存储结构). 1.2 Tools→Expor

Linux环境下Oracle数据库启动停止命令

切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [[email protected] ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-NOV-2016 03:36:45 Copyright (c) 1991, 2009, Oracle. All righ

Oracle数据库中文乱码问题

最近碰到Oracle乱码问题,刚开始甚是头疼,以前在合肥出差的时候,这种问题也碰到过,当时直接抛给了“乌压压一片”(一个搞数据的同事儿),这次没办法躲过,只好硬着头皮上.虽然我这次碰到的是Oracle乱码问题中的一个,但是我决定将这个乱码问题整理清楚(不整清楚,就觉得身边有个定时炸弹,怕下次整数据库的时候会突然又爆炸). 解决这个问题的关键在于理解字符集的概念,所以在正文开始之前,有必要先提一下字符集的相关知识!(这部分知识,对于解决j2ee中文参数传递过程中出现的乱码,也非常具有参考意义) 一

Oracle数据库语句大全

转自:http://blog.sina.com.cn/s/blog_b5d14e2a0101c56z.html ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)--用来唯一的标识出表的每

Oracle数据库恢复案例

当我们在使用Oracle数据库时,突然断电,造成很多问题,致使旧数据丢失,影响了数据的正确性,破坏了数据库.此时,用户急切需求恢复数据.本文以此为例,讲述数据库数据恢复. 一.案例描述: 数据库因突然断电,数据库启库报system01.dbf需要更多的恢复来保持一致性,数据库无法打开:数据库没有备份,归档日志也不连续.客户提供了数据库的在线文件,急需恢复zxfg用户下的数据.   二.恢复流程:  1 数据库的故障检测 2 尝试挂起数据库并修复数据库 3解析数据文件 4 验证数据 5导出数据与交

重启oracle数据库的一次操作命令和alter日志。

今天重启oracle数据库的命令和alter日志: [email protected]:~> sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 27 18:49:13 2016 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to:Oracle Database 11g Enterprise Edition Release