提问人:Ace Avl 提问时间:10/6/2023 最后编辑:Ace Avl 更新时间:10/7/2023 访问量:69
更改每个用户的数据源
Change DataSource with each user
问:
下午好
当我创建一个 DataSource 时,它要求提供凭据并将其保存到 app.config:
<add name="XXXXXCS" connectionString="Data Source=SERVER;Initial Catalog=XXX;Persist Security Info=True;User ID=XXXXX;Password=XXXXX"
providerName="System.Data.SqlClient" />
但是我需要根据登录应用程序的人更改用户和密码。 这是因为服务器对每个用户都有限制,他们需要使用各自的凭据登录 SQL。
有没有办法做到这一点?
感谢您的帮助!
-------------编辑-----------
我知道如何从app.config获取连接字符串, 我不知道的是如何将其签名到数据源。
这是我一直在使用的:
ConfigurationManager.ConnectionStrings(xxxxxx).ConnectionString
Using myConn = New SqlConnection(CadenaConexion)
myConn.Open()
Using comm As New SqlCommand("QUERY xxxx", myConn)
Dim adapter As New SqlDataAdapter(comm)
Dim table As New DataTable
adapter.Fill(table)
dgv1.DataSource = table
End Using
myConn.Close()
End Using
但是现在我想更改为绑定,我该如何实际更改数据源连接字符串?
答:
0赞
SSS
10/6/2023
#1
使用连接字符串
Data Source=SERVER;Initial Catalog=XXX;Persist Security Info=True;Integrated Security=True
评论
1赞
HardCode
10/7/2023
这不适用于使用 SQL Server 用户帐户登录的人,情况似乎是这样(但 OP 并不完全清楚)。
0赞
Jiachen Li-MSFT
10/6/2023
#2
可以使用 SqlConnectionStringBuilder
类动态生成连接字符串。
Dim builder As New SqlConnectionStringBuilder()
builder.ConnectionString =
"server=(local);user id=defultID;" &
"password=defultPassword;initial catalog=AdventureWorks"
builder.UserID = "newuser"
builder.Password = "newPassword"
评论
0赞
Ace Avl
10/7/2023
谢谢Jiachen Li-MSFT,我编辑了我的问题,所以它更清晰。
0赞
Jiachen Li-MSFT
10/17/2023
您的意思是使用 BindingSource 类来封装数据源吗?
评论
SqlConnectionStringBuilder
Me.TableAdapter.Connection.ConnectionString = ConnectionString()