【问题标题】:connection string pulled from database but is not working as it should with the traditional methods. May I have an extra thing in it?从数据库中提取的连接字符串,但不能正常使用传统方法。我可以在里面加点东西吗?
【发布时间】:2014-08-28 20:29:24
【问题描述】:

我有一个用于 vb.net/XML 的 oracle 连接字符串,但无法正常工作。有什么我做错了吗?并且我无法立即访问服务器,因此测试并不总是一种选择。我至少需要确保它的格式正确等等......

  providerName="oracle.dataAccess"
    connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=XXXXXXXXX.XXXX.XXX.pvt)(Port=XXXXX)))(CONNECT_DATA=(SID=PXXXXXXF))(GLOBAL_NAME=PXXXXXXF.world))OK (280 msec);User Id=username;Password=password" />-->

【问题讨论】:

标签: vb.net oracle connection-string


【解决方案1】:

它实际上比你所拥有的要容易得多。这看起来像是从 tnsnames 文件中剪切和粘贴。只需明确声明您的实体:

User Id=user;Password=password;Server=server;Direct=True;Sid=sid;Port=1234

更好的是,如果您的提供者有 StringBuilder,让它承担繁重的工作:

        OracleConnectionStringBuilder sb = new OracleConnectionStringBuilder();
        sb.Server = "server";
        sb.Port = 1234;
        sb.Sid = "sid";
        sb.UserId = "user";
        sb.Password = "password";
        sb.Direct = true;

        OracleConnection conn = new OracleConnection(sb.ToString());

您可能希望使用服务名称来代替 SID。这取决于。

【讨论】:

  • 我试过这样,但它不喜欢任何定义。
  • 您使用的是什么提供商?
  • Oracle.DataAccess 4.112.2.0 及其在 VB.net(4) 中
  • 我认为是 ODP.net?我在上面看到了您对错误消息的评论。这似乎暗示它正在尝试使用 tnsnames。 Direct=true 应该绕过它。你肯定指定直接=真?您是否尝试过直接通过代码而不是 xml 进行连接?
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多