none
c# oledb 连接 oracle数据库 RRS feed

  • 问题

  • using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.OleDb;
    using System.Data.OracleClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Oracleconn
    {
        class Program
        {
            static void Main(string[] args)
            {
                          try
                {
                    string strconn = "Provider=MSDAORA.1;User ID=用户名
    ;Password=密码;Data Source=192.168.1.87";
                    string strsql = "select * from o_user";
                    using (OleDbConnection conn = new OleDbConnection(strconn))
                    {
                        using (OleDbCommand cmd = new OleDbCommand(strsql, conn))
                        {
                            if (conn.State == ConnectionState.Closed)
                            {
                                conn.Open();
                                Console.WriteLine("链接已打开:" + cmd.ExecuteNonQuery());
                            }
                        }
                    }
    
                    //using (OracleConnection conn = new OracleConnection(strconn))
                    //{
                    //    using (OracleCommand cmd = new OracleCommand(strsql))
                    //    {
                    //        if (conn.State == ConnectionState.Closed)
                    //        {
                    //            conn.Open();
                    //        }
                    //        int count = cmd.ExecuteNonQuery();
                    //        Console.WriteLine(count);
                    //    }
                    //}
    
                    Console.ReadKey();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.StackTrace);
                    Console.ReadKey();
                }
            }
        }
    }
    我通过oledb连接oracle,如上面的代码,但是执行到conn.Open()方法的时候出现控制台的黑屏,一会就提示连接超时,哪位大侠能告诉小弟错在哪里了呀?在网上搜了好几种连接方法都不管用。用下面注释掉的OracleConnection 方法也不行,到底哪的原因呢?

    • 已编辑 占占wyz 2014年9月13日 12:22 描述不准确
    2014年9月13日 11:39

答案

  • 终于解决了,连接字符串写成:
    Provider=MSDAORA.1;User ID=数据库名;Password=密码;Data Source=192.168.1.87:1521/orcl,就行了
    • 已标记为答案 占占wyz 2014年9月13日 12:24
    2014年9月13日 12:20