相关疑难解决方法(0)

Oracle.DataAccess为什么Oracle.ManagedDataAccess不起作用?

我正在开发一个非常简单的应用程序,我打算用它来解决我在几台机器上遇到的问题,但在我做到这一点之前,我遇到了一些问题,包括cpu架构差异和Oracle数据库库.

我有一个数据库服务器tnsnames.ora,坐在我的C:\oracle\11g\network\admin目录中.如果我收拾这台服务器,我会得到所需的响应.如果我使用Oracle.DataAccess.Client将我的C#程序编码为使用以下代码连接到此服务器,则它可以正常工作.

string connectionString = "Data Source=DSDSDS;User Id=UNUNUN;Password=PWPWPW;";
DataTable dataTable = new DataTable();

using (var connection = new OracleConnection(connectionString)) {
    connection.Open();
    using (var command = new OracleCommand()) {
        command.Connection = connection;
        command.CommandText = sql;
        command.CommandType = CommandType.Text;
        using (var oda = new OracleDataAdapter(command)) {
            oda.Fill(dataTable);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,Oracle.DataAccess依赖于它运行的系统的体系结构.我看到有另一个库Oracle.ManagedDataAccess,它独立于架构.当我使用这个库时,它不再能够连接到服务器.一个ORA-12545: Network Transport: Unable to resolve connect hostname被抛出.

为什么会这样?这两个库之间有什么不同,因为基于我到目前为止所读到的内容,这应该不是问题.

额外的信息:

  • %ORACLE_HOME%和%TNS_ADMIN%未定义(请记住tnsping和Oracle.DataAccess工作)
  • PATH C:\oracle\11g\BIN定义了.
  • 我的机器只有一个tnsnames.ora文件

如果我将tnsnames.ora移动到与我的.exe文件相同的位置,它就可以了.为什么Oracle.DataAccess可以在C:\oracle\11g\network\admin目录中找到tnsnames.ora 但Oracle.ManagedAccess不能?

c# oracle tnsnames

39
推荐指数
3
解决办法
10万
查看次数

部署和配置ODP.NET无需使用Entity Framework进行安装即可工作

如何在不使用Entity Framework进行安装的情况下部署和配置ODP.NET?

A.如何部署和配置Oracle.DataAccess.Client?

B.如何部署和配置Oracle.ManagedDataAccess.Client?

C.为了使用Oracle SSDL的EDMX进行构建,您需要做什么?

D.您需要为设计师支持安装什么?

oracle entity-framework app-config odp.net dataprovider

33
推荐指数
2
解决办法
8万
查看次数