龙空技术网

新手之C#读取Oracle数据库中的表并显示

办公小技巧 174

前言:

如今看官们对“cmd显示数据库”可能比较着重,兄弟们都想要知道一些“cmd显示数据库”的相关文章。那么小编同时在网上搜集了一些关于“cmd显示数据库””的相关文章,希望你们能喜欢,大家一起来了解一下吧!

以前只使用过SQL Server2016,没有使用过Oracle,今天算是第二天用,昨天主要在电脑上下载安装上Oracle,并安装上了PLSQL Developer 14 (64 bit),请各位大神们指点一二

SQL Server与Oracle比较

1、安装:Oracle更容易安装一些,网上的安装教程都大同小异,下载安装包时直接去官网下载就行了,把两个压缩包解压到一个文件夹中就行,安装过程中基本上没有什么设置的地方;SQL Server就版本比较多了,安装时需要选择的地方多一些。

2、数据库图形界面管理器:SQL server的更好用一些,可能是一直用的习惯了,Oracle的官网下载需要注册,第三方的基本上都收费,当然大家都懂,学习一下也不会去交费,Navicat 16 for Oracle和PLSQL Developer 14都比较好用一些,但是好多课件上都按PLSQL Developer 14讲的,所以还是使用它吧。

Navicat 16 for Oracle试用版

PLSQL Developer 14

3、数据库:这两个有些不一样,目前也没搞清楚,Oracle安装时就装了个ORCL,感觉没有SQL server的直观,并且更依赖于用户名。

SQL Server:进入管理器后在数据库下新建各种表

Oracle:进入管理器后在用户名下新建各种表

PLSQL Developer 14中用户的表

Navicat 16 for Oracle中用户的表

C#编程访问Oracle数据库

1、netGet中安装Oracle.ManagedDataAccess

据说这个是最好用的了,Oracle官方出品,有好多个版本,18.6没有其他依赖,更高版本的需要.net 6支持,这里使用的是.net 4.5开发,网上有些教程说需要下载dll文件,需要引用之类的,为了方便还是直接用netGet安装就行了。

安装Oracle.ManagedDataAccess

2、编写代码,窗体界面如下

窗体界面,除了本机也可以连局域网内其他服务器

private void button1_Click(object sender, EventArgs e){    string host = txt_host.Text.ToString();    string user = txt_user.Text.ToString();    string pass = txt_pass.Text.ToString();    string dbname=txt_dbname.Text.ToString();    string sql=txt_sql.Text.ToString();    DataTable dt = new DataTable();    string conString = $"User Id={user};Password={pass};Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={host})(PORT=1521))(CONNECT_DATA=(SERVICE_NAME={dbname})));";    using (OracleConnection con = new OracleConnection(conString))    {        using (OracleCommand cmd = con.CreateCommand())        {            try            {                con.Open();                cmd.BindByName = true;                cmd.CommandText = sql;                using (OracleDataAdapter da = new OracleDataAdapter(cmd))                {                    da.Fill(dt);                    DG_show.DataSource = dt;                }            }            catch (Exception ex)            {                MessageBox.Show(ex.Message.ToString());            }                   }    }}
可能遇到的问题

1、连接字符串:Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={host})(PORT=1521))(CONNECT_DATA=(SERVICE_NAME={dbname})),这个一定要有,要么你就得配置app.config文件了,发现配置了也不起作用,也没空想为啥,直接写这里就行了。

2、host地址只能写localhost,不能写本机的IP地址,这是因为需要在net manager中进行监听配置,默认的监听配置是地址1没有地址2,手动增加上地址2就可以了,地址1中的主机是电脑名称不是IP地址。

主机配置成电脑的IP地址

运行结果

查询自带的emp表

查询自建的测试表

统计一下记录数

部分笔记

好了,继续学习,哪位有好的教材给推荐一下,感谢!

#职场##在头条看见彼此##挑战30天在头条写日记#

标签: #cmd显示数据库 #oracle无法读取数据文件 #oraclecommand怎么用 #oracle读取本地文件 #netget默认值