【问题标题】:ASP.NET Connection with Oracle DB与 Oracle DB 的 ASP.NET 连接
【发布时间】:2016-03-04 16:46:42
【问题描述】:

我不明白为什么我会收到此错误消息。没有代码用于连接,只有一个 SQLDatasource 和一个网格视图。我正在使用此代码:

protected void Page_Load(object sender, EventArgs e)

{
     try
    {
        using(OracleConnection conn = new OracleConnection("....."))
        using(OracleCommand cmd = new OracleCommand("select * from t1", conn))
        {
            conn.Open();
            using(OracleDataReader reader = cmd.ExecuteReader())
            {
                 DataTable dataTable = new DataTable();
                 dataTable.Load(reader);
                 ListBox1.DataSource = dataTable;
            }
        }
    }
    catch (Exception ex)
    {
        Label1.Text=ex.Message;
    }
}

【问题讨论】:

标签: asp.net oracle11g


【解决方案1】:
  1. 首先你安装了oracle数据访问客户端然后试试这个 以下代码

    • protected void Button1_Click(object sender, EventArgs e) { string connectionString = "数据源 = 描述 = " + "(ADDRESS = (PROTOCOL = TCP)(HOST = ho

      • 列表项 st_name)(PORT = 1521))" + “(连接数据=”+ " (服务器 = 专用)" + " (SERVICE_NAME = your_service_name)" + ")" + ");用户ID = ID;密码=密码;”; Oracle.DataAccess.Client.OracleConnection con = new Oracle.DataAccess.Client.OracleConnection(); con.ConnectionString = 连接字符串; con.Open(); Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand(); cmd.CommandText = "从 money_trn 中选择 ref_no,其中 ref_no=20170733"; cmd.Connection = con; con.Close(); cmd.CommandType = System.Data.CommandType.Text; Oracle.DataAccess.Client.OracleDataReader dr = cmd.ExecuteReader(); 博士读(); TextBox1.Text = dr.GetString(0); }

【讨论】:

    【解决方案2】:

    您不能将 SqlConnection 用于 Oracle! 首先,您必须将 connectionString 添加到 web.config 以与 Oracle 连接。 其次,将引用 System.Data.OracleClient 添加到您的项目中。 然后,将 SqlConnection 替换为 OracleConnection。一切,你用 Sql 使用的,你必须用 Oracle 替换。

    【讨论】:

    • 您忽略了如何更改 SqlDataSource 的提供程序名称。最好不要建议弃用和未维护的库。 Oracle 有一个官方驱动程序,它本质上是内置驱动程序的替代品。 nuget.org/packages/Oracle.ManagedDataAccess
    • 我从 Oracle 安装了这个驱动程序:oracle.com/technetwork/topics/dotnet/whatsnew/index.html 然后我尝试运行调试,这给了我这个错误。我想知道我是否安装了错误的驱动程序!此外,我尝试修改 web.config 文件,但该步骤给了我比这更严重的错误。它根本无法读取文件。
    • 我用 ListBox 替换了 GridView,就像在主帖中的脚本中一样。该应用程序现在正在运行,没有错误,但列表中没有显示任何数据。我确定我错过了什么,但它是什么?
    • 如果您的数据库位于另一台主机上,您必须将 localhost/orcl 更改为另一个。如果 localhost/orcl 不起作用,请尝试仅使用 orcl
    猜你喜欢
    • 2016-01-12
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多