【问题标题】:IBM DB2 Data Provider - How do I change the username and password at runtime?IBM DB2 Data Provider - 如何在运行时更改用户名和密码?
【发布时间】:2012-07-13 17:21:05
【问题描述】:

当我使用 DB2 数据提供程序在 Visual Studio 中创建设计器生成的数据集时,我被问到是否要在我的 ConnectionString 对象中存储敏感信息。

碰巧我没有,因为我想强制用户输入他们自己的用户名和密码,以评估他们运行程序的权限。

此时Visual Studio生成的ConnectionString为ReadOnly。

如何如果 ConnectionString 是只读的,我该如何设置 ConnectionString 提供的用户名和密码?

我显然缺少一些东西,但是我在网上找到的所有解决方案都失败了,包括找不到连接 DLL,连接突然不匹配其连接类型( TCP/IP) 及其通信 API (SOCKETS)。出于怀疑,此处包含错误:

ERROR [08001] [IBM] SQL30081N  A communication error has been 
detected. Communication protocol being used: "TCP/IP".
Communication API being used: "SOCKETS".  Location where 
the error was detected: "192.168.101.243".
Communication function detecting the error: "connect".
Protocol specific error code(s): "10061", "*", "*".  SQLSTATE=08001

Stackoverflow,我放弃了。我做错了什么?

编辑:很抱歉我的问题表述得不好。我在软件中有一个可用的连接字符串。格式为:

"Database=dbName;User ID=admin;Password=adminPassword;Server=192.168.101.111:1111"

这个connectionString工作正常,没有问题,一切都很好。

当我尝试在运行时将 connectionString 更改为:

"Database=dbName;User ID=user;Password=userPassword;Server=192.168.101.111:1111"

我正在寻找的是对以下问题的回答:“如何在运行时对设计器生成的 connectionString 进行更改?”因为到目前为止我所尝试的一切显然都是错误的。

【问题讨论】:

    标签: .net visual-studio-2010 dataset informix


    【解决方案1】:

    我建议您验证您尝试访问的 Informix IDS 服务器上的 NETTYPE=onsoctcp 是否。

    【讨论】:

    • 抱歉,我的问题不清楚。我有一个工作连接字符串。仅当我尝试在运行时更改该字符串时才会发生套接字错误。我没有特别遇到与套接字有关的问题。
    • 好吧,你似乎遇到了各种疯狂的问题,有点像病毒弄乱了连接类型等等!..也许这个链接可以帮助你改变ConnectionString 对象:msdn.microsoft.com/en-US/library/ms171889%28v=vs.80%29
    【解决方案2】:

    阅读 Frank Computer 提供的链接后,我相信我发现了以下内容:

    我试图更改设计器生成的 ConnectionString 对象是错误的。

    我一直在寻找的实际答案是连接字符串应该以每个 tableAdapter 的形式设置:

    Dim x As New DataSet1_TableAdapters.myTableAdapter
    x.Connection.ConnectionString = newConnectionString
    

    Designer 生成的 connectionString 在 Designer 生成的 TableAdapters 构造函数中使用,它的存在避免了 NullReferenceException。正确的程序(据我现在发现)是允许使用这个 incorrect connectionString,然后在实际尝试使用之前将其更改为 correct connectionString连接。

    公平地说,设置此 ConnectionString 的目的是不破坏设计器生成的代码,但正如我所说,基本上是一个陷阱,旨在让您开始解决错误的问题如果您需要更改连接字符串。

    【讨论】:

    • 很高兴链接有所帮助!.. 我绝不是经验丰富的开发人员,我更多的是业务分析师,而且很多时候,我依靠我的常识来帮助解决问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 2013-11-23
    相关资源
    最近更新 更多