首页 > 数据库 >C#处理读取使用US7ASCII的oracle数据库中文显示乱码问题

C#处理读取使用US7ASCII的oracle数据库中文显示乱码问题

时间:2022-09-20 21:22:48浏览次数:80  
标签:Console name C# 乱码 read OleDbConnection oracle conn string

方式一:(推荐)Oracle Data Access Components (ODAC) +OleDbConnection

  • 该方式无需配置环境变量

1、 下载ODAC 组件,地址为https://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.htmlimage

2、 解压缩文件包,并安装组件,选择Oracle Client 即可

image
image

3、修改安装目录 C:\app\Administrator\product\11.2.0\client_1\Network\Admin(安装目录根据前面的安装可以有所不同) 下的 tnsnames.ora 文件。image

4、编写访问数据库的C#代码(OleDb驱动)。使用连接字符串1,可以省略步骤3的文件配置。

private static void Method1()
        {
            //连接字符串方式1:
            //string connString = "Provider=OraOLEDB.Oracle.1;Data Source=(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521)))(CONNECT_DATA = (SID = orcl))) ;User Id=test;Password=123456";
            //连接字符串方式2:
            string connString = "Provider=OraOLEDB.Oracle.1;Data Source=orcl;User Id=test;Password=123456";
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                try
                {
                    conn.Open();
                    Console.WriteLine("连接成功!");
                    string sql = "select * from student";
                    OleDbCommand com = new OleDbCommand(sql, conn);
                    OleDbDataReader read = com.ExecuteReader();

                    while (read.Read())
                    {
                        String name = read["name"].ToString();
                        Console.WriteLine("name:{0}", name);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("连接失败!" + ex.Message);
                }
                finally
                {
                    if (conn != null)
                    {
                        conn.Close();
                        conn.Dispose();
                    }
                }
            }
        }

标签:Console,name,C#,乱码,read,OleDbConnection,oracle,conn,string
From: https://www.cnblogs.com/his365/p/16712583.html

相关文章

  • PAT (Basic Level) Practice 1005 继续(3n+1)猜想 分数 25
    卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如......
  • opencv videocapture
    importtimeimportcv2importnumpyasnpfromosimportpathimportpickle'''关于cameraid此处需要稍微说几句。一般我们测试时,可能会通过USB使用多个摄像头,......
  • 实验2:Open vSwitch虚拟交换机实践
    一.基本要求/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;2.使用Mininet搭建SDN拓扑添加流表s1添加流表22测试......
  • torch.max
    第一个版本:torch.max(input)→TensorReturnsthemaximumvalueofallelementsinthe input tensor.>>>a=torch.randn(1,3)>>>atensor([[0.6763,0......
  • opencv colors
    """在利用python进行画图时,我们可能常常用的颜色就是'k'黑色,'r'红色,'b'蓝色,'g'绿色等,这些颜色分别代表常见的几种颜色。但是当我们画图比较多时,颜色如何分配呢?可以参......
  • 取消goloand,idea,pycharm等双击shift时出现的全局搜索
    取消goloand,idea,pycharm等双击shift时出现的全局搜索来回切换中英文输入法的时候,goland会弹出来一个搜索框,很不方便,现在要把那个弹出框禁用掉File=>Settings=>Advanc......
  • P8283 「MCOI-08」Dantalion 解题报告
    P8283「MCOI-08」Dantalion解题报告:最近好像有很多人做这道题,把这题题解发一下吧。可能说的比较啰嗦,见谅。题意给定序列\(a\),\(q\)次询问一个区间有多少个子区间在......
  • 实验2:Open vSwitch虚拟交换机实践
    目录一、基础要求提交a1)/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令a2)p0和p1连通性测试的执行结果截图b1)/home/用户名/学号/lab2/目录下开启MininetCLI并执行......
  • 【做题记录】CF878E
    让正数带的系数尽量大。如果要使系数最小的话,全部从左往右合并,可以让除了左端点之外全部系数为\(2\)。如果增大系数可以考虑先右再左。那么实际上就是分成若干组,组内......
  • C#异步编程
    受众.Net c#开发人员概念免责声明:计算机科学很多概念都没有类似数学一样严谨的定义,以下概念为个人理解程序(Program)静态模板进程(Process)程序的实例,一个程序可以有多......