连接oracle读取数据

没怎么用过oracle,而且是在地税内网内部估计是防火墙的原因虚拟机里也连不上oracle,刚开始费了很多周折查找问题,现在又放弃使用直连数据库了,记下来以备后用吧

   public class LoadData
    {
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static string GetCunliangfang(string idNo)
        {

            string oraclePath = Application.StartupPath + @"\Lib";
            Environment.SetEnvironmentVariable("PATH", oraclePath, EnvironmentVariableTarget.Process);
            Environment.SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.ZHS16GBK", EnvironmentVariableTarget.Process);

            string rtn = string.Empty;
            //string connString = "Provider=OraOLEDB.Oracle.1;User ID=tax;Password=tax;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = ****)(PORT = *****))) (CONNECT_DATA = (SERVICE_NAME = orcl)))";
            string connString = "Persist Security Info=True;User ID=tax;Password=tax;Unicode=True;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =140.28.21.14)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)));";
            OracleConnection conn = new OracleConnection(connString);

            conn.Open();
            string sql = string.Format("select * from FDCJY_JYFCXX_HZ", idNo);// WHERE ID_SNO=‘{0}‘
            OracleCommand cmd = new OracleCommand(sql, conn);
            OracleDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                ArrayList arr = new ArrayList();

                arr.Add(dr["OC_CQRZJLX"]);//卖方证件类型代码
                arr.Add(dr["OC_CQRLXDH"]);//联系电话
                arr.Add(dr["OC_CQRGJ"]);//卖方国籍代码
                arr.Add(dr["OC_CQRLXDZ"]);//卖方地址

                arr.Add(dr["OC_MFXM"]);//"买方姓名
                arr.Add(dr["OC_MFZJLX"]);//"买方证件类型
                arr.Add(dr["OC_MFZJHM"]);//证件号码
                arr.Add(dr["OC_MFGJ"]);//国籍代码
                arr.Add(dr["OC_MFLXDH"]);//联系电话
                arr.Add(dr["OC_MFLXDZ"]);//联系地址

                //房屋信息
                arr.Add(dr["DT_HTQDRQ"].ToString()); //合同签订日期
                arr.Add(dr["OC_QXDM"]);//行政区划
                arr.Add(dr["OC_JDXZ"]);//街道乡镇
                arr.Add(dr["OC_FWZL"]);//房屋所属地,有默认
                arr.Add(dr["OC_FCZH"]);//房产证号
                arr.Add(dr["OC_HTZJ"].ToString());//合同金额
                arr.Add(dr["OC_FCLX"]);//房产类型
                arr.Add(dr["OC_FCZH"]);//房屋幢号
                arr.Add(dr["OC_SZLC"]);//楼层
                arr.Add(dr["OC_SCJYFS"]);//上次取得房屋方式

                ////arr.Add(dr["OC_HTZJ"]);//交易价格--临时不用
                arr.Add(dr["DT_SCJYSJ"].ToString());//上次交易时间
                arr.Add(dr["oc_fwtc"]);//上次房屋取得成本
                arr.Add(dr["OC_JYLX"]);//交易类型
                arr.Add(dr["OC_BZ"]);//备注
                rtn = string.Join(",", (string[])arr.ToArray(typeof(string)));
            }
            conn.Close();
            cmd.Dispose();
            return rtn;
        }
    }
时间: 2024-12-12 10:40:02

连接oracle读取数据的相关文章

c# 连接oracle 读取数据

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.OracleClient; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; namespace PDM {  

无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接

我们添加客户端服务引用的时候会出现这样的错误: 下载“http://localhost:8002/WCFService”时出错. 基础连接已经关闭: 接收时发生错误. 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接.. 远程主机强迫关闭了一个现有的连接. Metadata contains a reference that cannot be resolved: 'http://localhost:8002/WCFService'. Metadata contains a refe

linux centos6.8下 php连接redis读取数据间歇性502解决

nginx报错提示: *963623 recv() failed (104: Connection reset by peer) while reading response header from upstream .. php-fpm.log报错提示: WARNING: [pool www] child 10559 exited on signal 11 (SIGSEGV) after 0.504455 seconds from start .. 解决:(服务器出现502错误 可能进程过多导

关于云服务器中发送邮件,出现无法从传输连接中读取数据:

下次截图... 阿里云25端口需要申请,如果申请的话就没下面这些麻烦!!! 总之我就出现了这个错误. 如何一直都在解决这个问题 弄了一晚上,总结出了几个解决方案 第一  开启阿里云25端口 然后右边就会看见了 然后就是你的骚操作了(总之我没这样弄,太麻烦了,再加上我没域名,只能舍弃这个方法) 第二,使用163邮箱,开启465 端口 smtpclient.Port = 465; 结果没用,还是上面那个错误 果断丢弃 第三  ,服务器关闭  防火墙,重启,在加465端口,阿里云 配置一下安全组 本以

C#连接Oracle数据库查询数据

C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; using System.Collections.Generic; using System.ComponentModel using System.Data.OracleClient;;//这行和下一行都要先在引用中填加system.data.oracleclient using System.Da

Oracle中读取数据一些原理研究

文章很多摘录了 http://blog.163.com/[email protected]/blog/static/7956964020131069843572/ 同时基于这篇文章的基础上,补充一些学习要点,如有问题,希望指出探讨. 1 ORACLE体系结构 下图描述了oracle的体系结构.SGA(system global area)是各个进程共享的内存块,Buffer cache用来缓存数据文件的数据块(block). 2 如何在data buffer中查找数据块 data buffer存

ACCESS通过一个连接写入的数据,另一个连接却读取不出来

最近在用c#实现一个数据导入的功能,将一个ACCESS数据库中的数据导入到另一个ACCESS的数据库中,然后显示出来,但是导入成功了,却显示不出来. 经过研究觉得应该是缓存的原因,由于我写入数据和读取数据使用的不是一个OleDbConnection对象,而是分别打开了两个OleDbConnection连接对象:一个连接写入成功了,但保存到磁盘还需要点时间,所以这个连接写入成功,另一个连接立即去取就会有取不到的情况! 改为使用一个连接对象,问题就解决了.

关于oracle数据库读取数据的三种方式

打开oracle sqldeveloper,连接到HR模式下的数据库,在SQL工作表中,执行如下语句: CREATE TABLE WANG( Name  varchar2(6), ID     number        ); 然后向表中插入如下语句: INSERT INTO WANG VALUES('WANG',1): INSERT INTO WANG VALUES('CHENG',2); INSERT INTO WANG VALUES('ZHOU',3); INSERT INTO WANG 

ACCESS通过一个连接写入的数据,还有一个连接却读取不出来

近期在用c#实现一个数据导入的功能,将一个ACCESS数据库中的数据导入到还有一个ACCESS的数据库中,然后显示出来,可是导入成功了.却显示不出来. 经过研究认为应该是缓存的原因,因为我写入数据和读取数据使用的不是一个OleDbConnection对象.而是分别打开了两个OleDbConnection连接对象:一个连接写入成功了,但保存到磁盘还须要点时间.所以这个连接写入成功.还有一个连接马上去取就会有取不到的情况! 改为使用一个连接对象.问题就攻克了.