救命!尝试在c#中打开oracle连接时发生错误。谢谢! [英] Help! Error occur when try to open oracle connecion in c#. Thanks!

查看:70
本文介绍了救命!尝试在c#中打开oracle连接时发生错误。谢谢!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

System.Data.OracleClient需要Oracle客户端软件版本8.1.7或更高版本。当它尝试执行con.open()时会发生该错误。

代码是用VS2008编写的。

Oracle DB运行在我的机器上安装的VMware Workstation的linux系统上。

(PS:我使用pl / sql开发人员软件成功连接到Oracle DB )。

请帮助,谢谢。

代码为:

  public   void  TestReturnProcedureWithReturnValue()
{
OracleConnection con = new OracleConnection();
con.ConnectionString = ConnectionString;
OracleCommand cmd = new OracleCommand();
cmd.CommandText = sp_pro9;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Connection = con;
cmd.Parameters.Add( new OracleParameter( spNo 10 ));
OracleParameter cursor = new OracleParameter();
cursor.ParameterName = p_cursor;
cursor.OracleType = OracleType.Cursor;
cursor.Direction = System.Data.ParameterDirection.Output;

cmd.Parameters.Add(cursor);

尝试
{
con.Open();
cmd.ExecuteScalar();
}
catch (例外e)
{
}
终于
{
con.Close();
}



}

解决方案

请参阅此StackOverflow答案。 [ ^ ]


1.下载instantclient-basic-win-x86-64-11.2.0.1.0.zip和instantclient-odbc-win-x86-64- 11.2.0.1.0



2.安装它们



3.在ODBC中添加用户数据源。完成了!

System.Data.OracleClient requires Oracle client software version 8.1.7 or greater. That error occur when it try to do con.open().
The code is written in VS2008.
Oracle DB runs on the linux system in the VMware Workstation which is installed on my machine.
(PS: I connect to the Oracle DB successfully using pl/sql developer software).
Pls help, thanks.
The code is:

public void TestReturnProcedureWithReturnValue()
{
    OracleConnection con = new OracleConnection();
    con.ConnectionString = ConnectionString;
    OracleCommand cmd = new OracleCommand();
    cmd.CommandText = "sp_pro9";
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.Connection = con;
    cmd.Parameters.Add(new OracleParameter("spNo", 10));
    OracleParameter cursor = new OracleParameter();
    cursor.ParameterName = "p_cursor";
    cursor.OracleType = OracleType.Cursor;
    cursor.Direction = System.Data.ParameterDirection.Output;

    cmd.Parameters.Add(cursor);

    try
    {
        con.Open();
        cmd.ExecuteScalar();
    }
    catch (Exception e)
    {
    }
    finally
    {
        con.Close();
    }



}

解决方案

Please see this StackOverflow answer.[^]


1.Download instantclient-basic-win-x86-64-11.2.0.1.0.zip and instantclient-odbc-win-x86-64-11.2.0.1.0

2.Install them

3.Add User Data Source in ODBC. done!


这篇关于救命!尝试在c#中打开oracle连接时发生错误。谢谢!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆