接手了一个遗留的ASP.NET系统,数据库用的是Oracle,以前没搞过.NET和Oracle数据库,数据库搞了半天才解决乱码问题,在此做个笔记备忘。


1.下载安装ODAC

1)请去Oracle官网下载:http://www.oracle.com/technetwork/database/windows/downloads/index.html;

2)请下载对应版本和操作系统的

3)安装没有特殊要求

2.调整字符编码

1)查看Oracle数据库字符编码。

使用SQL语句查看(user是表名):

 select userenv('language') from user;

结果示例:

IMPLIFIED CHINESE_CHINA.ZHS16GBKS

2)查看你ODAC字符编码

打开注册表regdit,查看hkey_local_machine\software\oracle\ 中nls_lang的值,如果和Oracle数据库编码:”IMPLIFIED CHINESE_CHINA.ZHS16GBKS“不一样,请修改为一样。

3.C#连接示例

注意:

  • 引用:using System.Data.OleDb;
  • OracleClient方式已经过时,所以采用OleDb;
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb; namespace OracleDBConnect
{
class Program
{
static void Main(string[] args)
{
TestOracleConn();
} private static void TestOracleConn()
{
//数据库服务器IP,端口号,数据库名称,用户账号,用户密码
string ip = "202.203.33.76";
string port = "";
string dbName = "dbname";
string userid = "admin";
string password = "";
string conString =
"Provider=oraoledb.oracle;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = "
+ ip + ")(PORT = " + port + ")))(CONNECT_DATA =(SERVICE_NAME = "
+ dbName + ")));User ID=" + userid + ";Password=" + password + ";";
OleDbConnection conn = new OleDbConnection(conString);
conn.Open(); OleDbCommand comm = new OleDbCommand("select * from T_USER", conn);
OleDbDataReader dr = comm.ExecuteReader(); Console.WriteLine("用户名");
while (dr.Read())
{
string s = dr.GetString();
Console.WriteLine(s);
}
dr.Close();
conn.Close();
}
}
}

(ASP.NET)C#连接Oracle数据库示例(中文乱码问题解决)的更多相关文章

  1. PL/SQL连接Oracle数据库,中文乱码,显示问号

    问题描述: 登陆PL/SQL,执行SQL语句后,输出的中文标题显示成问号????:条件包含中文,则无数据.         如果不是中文,需要修改注册表值,方法如下: 进入注册表:Win+r,输入re ...

  2. Asp.Net 远程连接Oracle数据库

    Asp.Net 远程连接Oracle数据库 首先从微软停止.Net FrameWork支持Oracle数据库的研发,转为第三方提供说起,微软是很有实力的公司,他在桌面领域令其他对手望其项背,产品战线也 ...

  3. 用ASP.Net(C#)连接Oracle数据库的方法及实例

    今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...

  4. Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

    真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今 ...

  5. 将现有的sql脚本导入 Oracle 数据库,中文乱码问题

    将现有的sql 脚本导入 Oracle数据库 比如 在windows 系统下,可以写一个 bat 来实现直接导入 如:bat 中的内容如下,logs.log 将会记录执行日志 sqlplus user ...

  6. mybatis连接mysql数据库插入中文乱码

    对于MySQL数据库的乱码问题,有两种情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...

  7. ibatis访问oracle数据库US7ASCII中文乱码问题

    今天碰到一个问题,使用ibatis框架访问编码为US7ASCII的oracle数据中文乱码, 找了很久终于有了解决方案 首先 SqlMap-Config.xml按如下配置 <sqlMapConf ...

  8. Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决

    应女朋友的要求,要写一款销售管理的软件.用于管理服装店每天的销售记录,已及管理服装店的客户,并对客户进行生日提醒 因为之前使用C#写过一款家庭管理软件,主要是自己用,所以使用了服务器型数据库MySQL ...

  9. C3P0数据库连接池数据库插入中文乱码问题解决

    问题描述 近期修改一个学生信息管理的JavaWeb项目,其数据库连接池使用了C3P0.在实际测试时,发现在学生信息模块添加中文学生信息会在数据库(MySQL)出现中文乱码问题. 如图所示: 问题分析 ...

随机推荐

  1. C# 操作 Excel 常见问题收集和整理(定期更新,欢迎交流)

    经常会有项目需要把表格导出为 Excel 文件,或者是导入一份 Excel 来操作,那么如何在 C# 中操作 Excel 文件成了一个最基本的问题. 做开发这几年来,陆陆续续也接触过这样的需求,但因为 ...

  2. JQuery 动态添加onclick事件

    $('#div_id').click(function(){ show(1,2,this); });

  3. NodeJS服务器:一行代码 = 一个的HTTP服务器

    从这一篇开始,我们进入技术讲解的话题,逐步实现用NodeJS实现文件的传送共享服务. 前文我们讲过,NodeJS是最擅长做网络服务器的,今天我们就来用NodeJS做一个最简单的服务器. 先看一幅图: ...

  4. CP30 ---DataSource连接池的创建过程

    1.参看CP30文档quickStart 如下具体创建步骤 public DataSource getDs() throws Exception { //创建连接池对象 ComboPooledData ...

  5. CXF调用wsdl2java生成客户端异常

    用cxf生成java客户端代码的时候出现异常: undefined element declaration 's:schema'   解决办法:1.删除   2.替换   参考资料:   http:/ ...

  6. 洛谷 P3368 【模板】树状数组 2

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. ...

  7. upTodown

         ------->>>  从左图变为有图,并实现将左图上面的信息隐藏. <img src="../images/up.gif" border=&qu ...

  8. MVC校验

    首先Model里面需要写好校验标签, 我的数据库中有个tblUserInfo表,其中有Id,UserName,,Age三个列,Id自动增长 Model添加UserInfo Class,在UserNam ...

  9. 信号处理程序(signal handler)会被重置的信号

    首先说明我的系统,CentOS 6.6,内核为2.6.32-504.12.2.el6.i686. 当用signal对某个信号设定信号处理函数的时候,有些信号的处理函数会被重置,有些则不会,这种情况的具 ...

  10. 查看linux系统版本命令

    一.查看内核版本命令: 1) [root@SOR_SYS ~]# cat /proc/version Linux version 2.6.18-238.el5 (mockbuild@x86-012.b ...