欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.Net Core 2.0 连接Oracle数据库

程序员文章站 2024-03-14 10:13:46
...

背景: C#  Restful项目

----------------------------------------

我也很迷,反正先记一下
1. 下NuGet包   Oracle.ManagedDataAccess.Core  (预发行版)

2.  下载驱动     点击打开链接   (说是如果连接不成功再下这个)

    .Net Core 2.0 连接Oracle数据库

3.使用例子   点击打开链接


我先翻译,并参考类似的改了下   里面第二个方法

代码如下(生成的控制台程序):

public static void Main(string[] args)
        {
            //Create a connection to Oracle		                   //如何在没有SQL配置文件的情况下连接到Oracle DB 
            string conString = "User Id=hr;Password=<password>;" + "Data Source=<ip or hostname>:1521/<service name>;";
            string ConnectString = "Data Source=10.1.93.173/ZSKORCL;User ID=test;PassWord=open123";//
            string queryString = "SELECT * FROM T_USER";
            //  also known as tnsnames.ora.


            //如何用DB别名连接到Oracle DB。 How to connect to an Oracle DB with a DB alias.
            //下面和上面的评论/注释 Uncomment below and comment above.
            //数据源<服务名称别名> "Data Source=<service name alias>;";
            using (OracleConnection con = new OracleConnection(conString))
            {
                using (OracleCommand cmd = con.CreateCommand())
                {
                    try
                    {
                        con.Open();
                        cmd.BindByName = true;

                        //Use the command to display employee names from 
                        // the EMPLOYEES table
                        cmd.CommandText = "select first_name from employees where department_id = :id";
                        //cmd.CommandText = queryString;

                        // Assign id to the department number 50 
                        OracleParameter id = new OracleParameter("id", 50);
                        cmd.Parameters.Add(id);
                        
                        //Execute the command and use DataReader to display the data
                        OracleDataReader reader = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                            //await context.Response.WriteAsync("Employee First Name: " + reader.GetString(0) + "\n");
                            Console.WriteLine("Employee First Name: " + reader.GetString(0) + "\n");
                        }
                        
                        reader.Dispose();
                    }

                    catch (Exception ex)
                    {
                        //await context.Response.WriteAsync(ex.Message);
                        Console.WriteLine(ex.Message);
                    }

                }
            }

            BuildWebHost(args).Run();
        }