编程语言
首页 > 编程语言> > c#-将连接字符串从linqpad传递到自定义库会导致登录失败

c#-将连接字符串从linqpad传递到自定义库会导致登录失败

作者:互联网

我正在编写一个linqpad脚本,用于将数据从Excel文件迁移到db中.导入数据后,需要在多个数据库之间进行同步.由于该功能已在其他地方使用,因此已在dll中完成.

我的问题是,当从linqpad将连接字符串传递到我的dll时,我收到用户’xxxxxxx’登录失败的消息.据我所知,这是因为SQL身份验证的密码未在连接字符串中传递.有什么方法可以使linqpad在连接字符串中包含密码:

SyncController syncController = new SyncController(this.Connection.ConnectionString);
syncController.SyncAll();

如果有可能,我想避免在运行此程序时强迫要运行此程序的人更新密码变量.谢谢.

解决方法:

您是对的:打开连接后,密码将从连接字符串中消失.这是一个feature of the .NET Framework,并非特定于LINQPad.

有两种解决方法.首先,在查询任何数据之前,可以将连接字符串捕获为LINQPad脚本的第一行:

string cxString = this.Connection.ConnectionString;

另一个解决方法是将以下文本添加到您的连接字符串:

Persist Security Info=true

要在LINQPad中执行此操作,请右键单击该连接,然后选择“属性”.单击高级,然后在提供的框中输入其他连接字符串文本.

标签:dll,connection-string,c,linqpad
来源: https://codeday.me/bug/20191027/1946010.html