77范文网 - 专业文章范例文档资料分享平台

Oracle数据库安装配置、维护及C#操作使用技巧整理(6)

来源:网络收集 时间:2019-03-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

5.数据检索

无论是否通过索引,varchar类型的数据检索略优于char的扫描。

选择char还是选择varchar的建议

1.适宜于char的情况:

a. 列中的各行数据长度基本一致,长度变化不超过50字节;

b. 数据变更频繁,数据检索的需求较少。

c. 列的长度不会变化,修改char类型列的宽度的代价比较大。

d. 列中不会出现大量的NULL值。

e. 列上不需要建立过多的索引,过多的索引对char列的数据变更影响较大。

2.适宜于varchar的情况;

a. 列中的各行数据的长度差异比较大。

b. 列中数据的更新非常少,但查询非常频繁。 c. 列中经常没有数据,为NULL值或为空值

nchar [ ( n ) ]

n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间(含)。存储大小为两倍 n 字节。

nvarchar [ ( n | max ) ]

可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。

注释

如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。

如果列数据项的大小可能相同,请使用 nchar。

如果列数据项的大小可能差异很大,请使用 nvarchar。

sysname 是系统提供的用户定义数据类型,除了不可为空值外,在功能上与 nvarchar(128) 相同。sysname 用于引用数据库对象名。

为使用 nchar 或 nvarchar 的对象分配的是默认的数据库排序规则,但可使用 COLLATE 子句分配特定的排序规则。

SET ANSI_PADDING ON 永远适用于 nchar 和 nvarchar。SET ANSI_PADDING OFF 不适用于 nchar 或 nvarchar 数据类型。

在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别

1.CHAR(size)和VARCHAR(size)的区别

CHAR为定长的字段,最大长度为2K字节;

VARCHAR为可变长的字段,最大长度为4K字节;

2.CHAR(size)和NCHAR(size)的区别

CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;

NCHAR根据所选字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字)

3.VARCHAR(size)和VARCHAR2(size)的区别

在现在的版本中,两者是没有区别的;最大长度为4K字节;推荐使用VARCHAR2;

4.VARCHAR2(size)和NVARCHAR2(size)的区别

最大长度为4K字节,区别同CHAR与NCHAR的区别;(如果数据库字符集长度是2,则NVARCHAR2最大为2K)

5.共同特性

当执行insert的时候,插入的值为'',则转变成null,即insert ... values('') <=> insert ... values(null)

搜索的条件须用where xx is null

6.例子

比如有一个性别字段,里面存放“男,女”的其中一个值,两种常用选择 CHAR(2) 和 NCHAR(1)

柒、c#通过oledb连接Oracle

先装oracle客户端

1、控制面板->管理工具->数据源(ODBC)->添加数据源->选择oracle 客户端

Data Source Name 可以任意起名,推荐和SID一样 Description 描述

TNS Service Name 下拉菜单中会自动显示环境变量TNS_ADMIN所指目录下的tnsnames.ora文件中SERVICE_NAME的名称,也就是要连接的SID UserID 用户名 2、代码

string ConnectionString = \连接字符串 OracleConnection conn = new OracleConnection(ConnectionString); //创建一个新连接 try {

conn.Open(); //打开连接

OracleCommand cmd = conn.CreateCommand();

cmd.CommandText = \语句 OracleDataReader rs = cmd.ExecuteReader();

while (rs.Read()) //读取数据,如果rs.Read()返回为false的话,就说明到记录集的尾部了 {

MessageBox.Show(rs.GetString(1)); }

rs.Close(); }

catch (Exception e) {

MessageBox.Show(e.Message); }

finally {

conn.Close(); }

Oracle ODBC

New version:

\

Old version:

\ODBC Driver for

Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;\

OLEDB, OleDbConnection (.NET)

Standard security:

\ This one's from Microsoft, the following are from Oracle Standard Security:

\

Trusted Connection:

\

OracleConnection (.NET)

Standard:

\ This one works only with Oracle 8i release 3 or later Declare the OracleConnection: C#:

using System.Data.OracleClient;

OracleConnection oOracleConn = new OracleConnection(); oOracleConn.ConnectionString = \oOracleConn.Open();

VB.NET:

Imports System.Data.OracleClient

Dim oOracleConn As OracleConnection = New OracleConnection() oOracleConn.ConnectionString = \oOracleConn.Open()

Data Shape

MS Data Shape:

\Security Info=False;Data Provider=MSDAORA;Data Source=orac;user id=username;password=mypw\

捌、一个C#操作Oracle的通用类

using System;

using System.Data;

using System.Data.OracleClient;

using System.Web.UI.WebControls; namespace SiFenManager.Util {

///

/// 数据库通用操作类 ///

public class Database {

protected OracleConnection con;//连接对象

public Database() {

con=new OracleConnection(DafangFramework.AppConfig.DataBaseConnectionString); }

public Database(string constr) {

con=new OracleConnection(constr); }

#region 打开数据库连接 ///

/// 打开数据库连接 ///

private void Open() {

//打开数据库连接

if(con.State==ConnectionState.Closed) { try {

//打开数据库连接 con.Open(); }

catch(Exception e) {

throw e; } } }

#endregion

#region 关闭数据库连接 ///

/// 关闭数据库连接 ///

private void Close()

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle数据库安装配置、维护及C#操作使用技巧整理(6)在线全文阅读。

Oracle数据库安装配置、维护及C#操作使用技巧整理(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/508028.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: