【问题标题】:myGeneration problem with OraOleDB.Oracle provider (?)OraOleDB.Oracle 提供程序的 myGeneration 问题(?)
【发布时间】:2009-07-15 14:52:21
【问题描述】:

我无法使 myGeneration 工具正常工作。

这是我使用的连接字符串:

Provider=OraOLEDB.Oracle.1;Password=pass123;User ID=user1;Data Source=oradb1src;Persist Security Info=True

当我点击测试连接时,我得到:

[System.Data.OleDb.OleDbException] - ORA-12154: TNS: 无法解析服务名称

[oradb1src 在 tnsnames.ora 中有很好的定义。这不是问题。]

但是,当我将提供程序更改为 MSDAORA 时,连接工作正常,但在“生成”窗口中,我缺少应该能够从数据库中选择表的“表”选项卡。我在某处发红表示这对于 MSDAORA 提供程序是正常的,因为 mygeneration 使用 oledb 提供程序进行元数据检索。

但是,为什么我在使用 OralOLEDB.Oracle 提供程序时会收到这个疯狂的错误消息???有人知道吗?

提前谢谢你...

PS。我的计算机上安装了 oracle 9.2 和 oracle 10 的驱动程序。

【问题讨论】:

    标签: oracle provider mygeneration


    【解决方案1】:

    我只在 tnsnames.ora 中未正确配置源时才看到该错误。由于其他提供商可以从您的机器上看到数据库,我会尝试创建一个无 TNS 的连接字符串(例如click here)以确保这不是问题。

    【讨论】:

    • 这应该不是问题,因为我已经连接到这个数据库并通过 tnsnames 与 TOAD。
    • 现在我使用了这个连接字符串:>Provider=OraOLEDB.Oracle.1;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myHost)(PORT=myPort) )))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mySID)));Password=pass123;User ID=user1;Persist Security Info=True;我收到以下错误:> [System.Data.OleDb.OleDbException] - ORA-12638:凭据检索失败在 sqlnet.ora 中设置:> SQLNET.AUTHENTICATION_SERVICES = (NONE)
    • 你可能用谷歌搜索了我刚刚看到的相同内容。看起来将身份验证服务设置为 (NONE) 应该可以解决问题。也许你需要重新启动你的机器,也可能需要重新启动 Oracle 服务器。
    • $*@$& 甲骨文,顺便说一句。这类事情对 Oracle 来说总是很痛苦。
    【解决方案2】:

    我偶尔会遇到类似的错误 - 基本上,尽管 Oracle(和 Toad)非常乐意在一台机器上支持多个 Oracle 客户端,但 Com 版本的 Data Provider(即任何不使用 Oracle 本地连接的连接方法)将静默只使用您的一个客户。我从来没有找到任何文档来确认如何选择要使用的客户端,因此无法强制。很可能,您会发现您尝试使用的 Oracle 客户端不是提供者正在使用的客户端,并且提供者正在使用的客户端没有完整的 TNSNames 文件。

    【讨论】:

      【解决方案3】:

      oracle 的连接字符串:

      Provider=OraOLEDB.Oracle;Data Source=mydbname;User Id=mydata;Password=88888
      

      效果很好

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-24
        • 2015-07-18
        • 1970-01-01
        • 2022-01-15
        相关资源
        最近更新 更多