当前位置: 首页 > news >正文

c# 连接oracle 及对应获取数据集

1、数据库配置xml,首先连接成功后会自动创建xml并保存到对应xml,如下

static string ConnPath = AppDomain.CurrentDomain.BaseDirectory + "ConnOrcle.xml";

声明xml名称,便于后续写入对应数据库参数

2、创建xml

/// <summary>
        /// 创建XML节点
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        /// <param name="sid"></param>
        /// <param name="user"></param>
        /// <param name="pwd"></param>
        public static void CreateXMLInform(string ip, string port, string sid, string user, string pwd)
        {
            XmlDocument xmlDoc = new XmlDocument();
            XmlDeclaration xmlDecl = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
            xmlDoc.AppendChild(xmlDecl);

            XmlElement xe = xmlDoc.CreateElement("Conn");//创建一个Conn节点

            XmlElement xc1 = xmlDoc.CreateElement("ConnIP");//IP
            xc1.InnerText = ip;
            xe.AppendChild(xc1);

            XmlElement xc2 = xmlDoc.CreateElement("ConnPort");//端口
            xc2.InnerText = port;
            xe.AppendChild(xc2);

            XmlElement xc3 = xmlDoc.CreateElement("ConnSid");//服务器名称
            xc3.InnerText = sid;
            xe.AppendChild(xc3);

            XmlElement xc4 = xmlDoc.CreateElement("ConnUser");//用户名
            xc4.InnerText = user;
            xe.AppendChild(xc4);

            XmlElement xc5 = xmlDoc.CreateElement("ConnPwd");//密码
            xc5.InnerText = pwd;
            xe.AppendChild(xc5);

            xmlDoc.AppendChild(xe);
            xmlDoc.Save(ConnPath);
        }

3、声明连接类实体 ConnEntity

 private string connIP;//ip地址
        private string connPort;//端口
        private string connSid;//服务器名称
        private string connUser;//用户名
        private string connPwd;//密码

4、读取xml内容并赋值给ConnEntity

/// <summary>
        /// 读取XML内容赋值给连接
        /// </summary>
        /// <returns></returns>
        public static ConnEntityReadXML()
        {
            ConnEntity connentiy= new ConnEntity();
            if (File.Exists(ConnPath))
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(ConnPath);
                XmlNodeList list = xmlDoc.SelectSingleNode("Conn").ChildNodes;
                connentiy.ConnIP = list[0].InnerText;
                connentiy.ConnPort = list[1].InnerText;
                connentiy.ConnSid = list[2].InnerText;
                connentiy.ConnUser = list[3].InnerText;
                connentiy.ConnPwd = list[4].InnerText;
            }
            return connentiy;
        }

5、连接数据库测试

 /// <summary>
        /// 连接数据库
        /// </summary>
        /// <param name="ip">地址</param>
        /// <param name="port">端口</param>
        /// <param name="sid">服务名称</param>
        /// <param name="user">用户</param>
        /// <param name="pwd">密码</param>
        public static bool ConnectionTestDB(string ip, string port, string sid, string user, string pwd)
        {
            ConnOracle(ip, port, sid, user, pwd);
            try
            {
                //不为空 并且 是关闭或者断了的情况下,才连接
                if (Connection != null && (Connection.State == System.Data.ConnectionState.Closed || Connection.State == System.Data.ConnectionState.Broken))
                {
                    Connection.Open();
                    ReturnOwner = Select("SELECT OWNER, TABLE_NAME FROM ALL_TAB_COMMENTS ORDER BY OWNER, TABLE_NAME");
                }
                MessageBox.Show("连接成功!");
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(+“连接失败,请检查数据库配置参数”ex.Message.ToString());
                return false;
            }
        }

6、其中调用的函数

 /// </summary>
        /// <param name="ip">地址</param>
        /// <param name="port">端口</param>
        /// <param name="sid">服务名称</param>
        /// <param name="user">用户</param>
        /// <param name="pwd">密码</param>
        /// <returns>OleDbConnection</returns>
        private static OracleConnection ConnOracle(string ip, string port, string sid, string user, string pwd)
        {
            string connStr;
            connStr = "Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = " + ip + ")(PORT = " + port + "))) (CONNECT_DATA = (SERVICE_NAME = " + sid + ")));User ID=" + user + ";Password=" + pwd + ";";
            Connection = new OracleConnection(connStr);
            return Connection;
        }

详细看源码网址及下载

c#oracle创建实体类操作资源-CSDN文库

相关文章:

c# 连接oracle 及对应获取数据集

1、数据库配置xml&#xff0c;首先连接成功后会自动创建xml并保存到对应xml&#xff0c;如下 static string ConnPath AppDomain.CurrentDomain.BaseDirectory "ConnOrcle.xml"; 声明xml名称&#xff0c;便于后续写入对应数据库参数 2、创建xml /// <summar…...

JS直接量及其相关对象

什么是直接量 直接量是指不需要创建对象就可以直接使用的变量。ES中的直接量主要有三种类型&#xff1a;表示字符串的string类型、表示数字的number类型和表示true/false的boolean类型。当我们直接将值赋给变量后&#xff0c;ES就会自动判断其类型&#xff0c;而且当参数发生变…...

一 windso10 笔记本刷linux cent os7.9系统

1:准备材料 16G以上U盘, 笔记本一台 镜像选了阿里云镜像:centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 软件:链接&#xff1a;https://pan.baidu.com/s/13WDp2bBU1Pdx4gRDfmBetg 提取码&#xff1a;09s3 2:把镜像写入U盘,本人已经写入好了,选择镜像,点开始就是,确定等…...

118.龙芯2k1000-pmon(17)-制作ramdisk

目前手上这个设备装系统不容易&#xff0c;总是需要借助虚拟机才能实现。 对生产就不太那么友好&#xff0c;能否不用虚拟机就能装Linux系统呢&#xff1f; 主要是文件系统的问题需要解决&#xff0c;平时我们一般是用nfs挂载后&#xff0c;然后对硬盘格式化&#xff0c;之后…...

IP-guard邮件管控再升级,记录屏幕画面,智能阻断泄密邮件

邮件是工作沟通以及文件传输的重要工具,却也成为了信息泄露的常见渠道。员工通过邮件对外发送了什么内容,是否含有敏感信息都无从得知,机密通过邮件渠道外泄也难以制止。想要防止企业的重要信息通过邮件方式泄露,我们不仅需要通过技术措施对外发邮件的行为进行规范,也要对…...

#LLM入门|Prompt#2.10_评估、自动化测试效果(下)——当不存在一个简单的正确答案时 Evaluation Part2

上一章我们探索了如何评估 LLM 模型在 有明确正确答案 的情况下的性能&#xff0c;并且我们学会了编写一个函数来验证 LLM 是否正确地进行了分类列出产品。 在使用LLM生成文本的场景下&#xff0c;评估其回答准确率可以是一个挑战。由于LLM是基于大规模的训练数据进行训练的&am…...

round四舍五入在python2与python3版本间区别

round()方法返回数值的小数点四舍五入到n个数字。 语法 以下是round()方法的语法&#xff1a; round( x ,n) 参数 x --这是一个数值&#xff0c;表示需要格式化的数值 n --这也是一个数值,表示小数点后保留多少位 返回值 该方法返回 数值x 的小数点四舍五入到n个数字 …...

新概念英语第二册(73)

【New words and expressions】生词和短语&#xff08;9&#xff09; record-holder 纪录保持者 truant n. 逃学的孩子unimaginative adj. 缺乏想像力的shame n. 惭愧&#xff0c;羞耻 hitchhike v. 搭便车旅行 m…...

Vue项目实战-空间论坛(2)

项目实战 实现userlist页面 获取userlist列表&#xff0c;可使用ajax,axios 实现 这里采用ajax实现&#xff0c;需要添加Jquery依赖&#xff0c;然后在UserListView.vue中引入 在UserListView.vue组件的入口函数中定义users变量&#xff0c;并引入ref 使用ajax从云端动…...

小老虎吃汉堡,认识continue和break

continue;//结束本次循环&#xff0c;执行下面的循环 break; //结束本次及以后的循环&#xff0c;执行循环下面的代码1. /*小老虎在吃汉堡&#xff0c;但是第三个汉堡上被挤了芥末&#xff0c;不能吃&#xff0c;跳过去又吃第四、五个*/ for (int i1;i<5;i){if (i3){contin…...

docker搭建zero-ui

确保你已经安装了Docker和Docker Compose。如果没有&#xff0c;请参照官方文档安装&#xff1a;Docker 和 Docker Compose。 使用 Docker CLI 获取 Zero-UI 镜像: 首先&#xff0c;你需要从Docker Hub获取Zero-UI的Docker镜像。你可以使用 docker pull 命令来下载它。 docker…...

187基于matlab的弹道目标跟踪滤波方法

基于matlab的弹道目标跟踪滤波方法&#xff0c;扩展卡尔曼滤波&#xff08;extended Kalman filter, EKF&#xff09;、转换测量卡尔曼滤波&#xff08;conversion measurement Kalman filter, CMKF&#xff09;跟踪滤波&#xff0c;得到距离、方位角、俯仰角误差结果。程序已调…...

讲给自己听的的技术---WMS

标题一 点题 为什么我会说&#xff0c;这是说给自己听的了&#xff1f;做项目有三个月了&#xff0c;外加之前三个月的自学&#xff0c;自我感觉对WMS系统有了一点了解&#xff0c;今天三月九号晚上九点二十&#xff0c;就让我自己和自己说说吧。 标题二 WMS的职责是什么…...

在Java中,请详细讲解并发、多线程、异步的区别和联系

在Java中&#xff0c;请详细讲解并发、多线程、异步的区别和联系 并发、多线程、异步是Java编程中与并行处理相关的三个重要概念&#xff0c;它们之间既有区别也有联系。 并发&#xff08;Concurrency&#xff09;&#xff1a; 并发是指在同一时间段内&#xff0c;多个任务或…...

网络安全及信息安全常识

网络安全及信息安全常识 闻知&#xff1a;西安之地&#xff0c;借软件正版化&#xff0c;诈骗违法犯罪多有。本人自2008年10月&#xff0c;以劳动合同入职软件公司后&#xff0c;知至今日&#xff0c;普通百姓&#xff0c;电脑知识匮乏。因此&#xff0c;当此时&#xff0c;有前…...

(十五)【Jmeter】取样器(Sampler)之HTTP请求

简述 操作路径如下: HTTP请求 (HTTP Sampler): 作用:模拟发送HTTP请求并获取响应。配置:设置URL、请求方法、请求参数等参数。使用场景:测试Web应用程序的HTTP接口性能。优点:支持多种HTTP方法和请求参数,适用于大多数Web应用程序测试。缺点:功能较为基础,对于复杂…...

YOLOv8.1.0安装

【YOLO】YOLOv8训练环境配置 python 3.8.18 cuda 11.3.1 cudnn 8.2.1 pytorch 1.12.1-gpu版 - 知乎 (zhihu.com) 一、Anaconda 默认装好了可用的Anaconda&#xff0c;安装教程见Win10系统anaconda安装 - 知乎 (zhihu.com) 二、在虚拟环境下用conda安装 1.创建虚拟环境 …...

Linux下使用MD5SUM命令详解

在Linux操作系统中&#xff0c;md5sum是一个非常实用的工具&#xff0c;用于生成和校验文件的MD5散列值。MD5是一种广泛使用的密码散列函数&#xff0c;可以产生一个128位&#xff08;16字节&#xff09;的散列值&#xff0c;常用来确保数据的完整性和一致性。 一、MD5SUM命令…...

蓝桥杯python常用内置函数

一、 abs() #返回数字的绝对值 例&#xff1a; 二、 all() #判断给定的可迭代参数中的所有元素是否都为True&#xff0c;若是则返回True&#xff0c;反之返回False 例&#xff1a; 三、 any() #判断给定的可迭代参数是否都为False&#xff0c;全为False则返回False&am…...

设计模式 工厂模式

工厂模式&#xff0c;最重要的是反射。 反射&#xff1a;Class类 java的注释是这样写的&#xff1a; Class没有公共构造函数。相反&#xff0c;Class对象是在类加载时由Java虚拟机自动构造的&#xff0c;并通过调用类加载器中的defineClass方法来实现。...

5G NR物理层探秘:PBCH信道与MIB消息的编码、映射与波束赋形

1. PBCH信道与MIB消息的5G广播基石 当你刚打开5G手机时&#xff0c;屏幕上瞬间跳出的信号格背后&#xff0c;藏着一场精妙的物理层对话。这场对话的第一句问候&#xff0c;就来自我们今天要拆解的PBCH&#xff08;物理广播信道&#xff09;和它搭载的MIB&#xff08;主信息块&a…...

终极Typhoeus常见问题解决手册:从超时设置到代理配置的完整指南

终极Typhoeus常见问题解决手册&#xff1a;从超时设置到代理配置的完整指南 【免费下载链接】typhoeus Typhoeus wraps libcurl in order to make fast and reliable requests. 项目地址: https://gitcode.com/gh_mirrors/ty/typhoeus Typhoeus是一个基于libcurl的Ruby…...

技术顶尖却始终赚不到大钱:程序员最容易忽略的那门“手艺”

在技术一线&#xff0c;越来越多程序员把“精通Java”“刷LeetCode”“深挖源码”当成职业护城河。年薪五十万、技术专家头衔、公司核心项目一把抓&#xff0c;看起来前途无量。可真正到职业天花板时&#xff0c;却发现自己和65岁只剩105美元的肯德基上校桑德斯上校陷入了同一个…...

从源码到实战:在VS2022中集成curl网络库的完整指南

1. 为什么选择curl库&#xff1f; 如果你正在用C开发Windows应用程序&#xff0c;并且需要实现HTTP客户端功能&#xff0c;那么libcurl几乎是你的不二之选。作为一个成熟稳定的网络传输库&#xff0c;curl支持包括HTTP、HTTPS、FTP在内的多种协议&#xff0c;被广泛应用于各种开…...

终极指南:如何用LayerDivider实现插画智能分层与PSD自动生成

终极指南&#xff1a;如何用LayerDivider实现插画智能分层与PSD自动生成 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经为了一张精美的插画需…...

真的绝了!这套私域运营思路和方法让我效率提升10倍

你有没有发现&#xff0c;很多人做私域&#xff0c;每天花4.5小时在重复劳动上——回消息2小时、写朋友圈1小时、手动拉群0.5小时、跟进客户1小时。一年下来1642.5个小时&#xff0c;折合68天。结果呢&#xff1f;好友从3000删到800&#xff0c;月成交从50单跌到8单&#xff0c…...

DeepSeek-R1-Distill-Qwen-1.5B快速部署:vLLM启动,GPU显存优化方案

DeepSeek-R1-Distill-Qwen-1.5B快速部署&#xff1a;vLLM启动与GPU显存优化方案 1. 模型与框架介绍 1.1 DeepSeek-R1-Distill-Qwen-1.5B模型特点 DeepSeek-R1-Distill-Qwen-1.5B是DeepSeek团队基于Qwen2.5-Math-1.5B基础模型&#xff0c;通过知识蒸馏技术融合R1架构优势打造…...

用Global Wheat Detection数据集做目标检测?这份保姆级数据预处理与可视化教程请收好

Global Wheat Detection数据集实战&#xff1a;从数据解析到可视化洞察 小麦作为全球最重要的粮食作物之一&#xff0c;其产量预测对农业决策至关重要。而准确检测田间小麦头数量是产量估算的关键步骤。Global Wheat Detection数据集正是为此而生&#xff0c;它包含了来自全球…...

别再写冗长路径了!Qt QML资源文件管理:用前缀和别名让代码清爽3倍

别再写冗长路径了&#xff01;Qt QML资源文件管理&#xff1a;用前缀和别名让代码清爽3倍 在QML项目开发中&#xff0c;资源路径管理是个容易被忽视却影响深远的细节。想象一下&#xff0c;当你第20次在代码中敲入source: "images/images/code.jpg"时&#xff0c;是否…...

【SketchUp 2024】草图大师场景优化实战:群组与组件工具的高效协同与避坑指南

1. 群组与组件的基础认知&#xff1a;从零理解核心差异 刚接触SketchUp时&#xff0c;我最常混淆的就是群组和组件的区别。直到有次做室内设计项目&#xff0c;移动沙发时连带拽歪了整面墙&#xff0c;才真正明白两者的分界线。群组就像打包快递——把零散的几何体用胶带捆成包…...