【发布时间】:2019-10-26 01:56:20
【问题描述】:
设置
在本地环境中,我们使用带有用户名和密码的 SQL 身份验证来连接数据库。我创建了一个项目连接管理器,它的表达式绑定到项目属性,用户名和密码设置为敏感。
在开发服务器上,当 SSIS 运行时,它需要使用 AD 帐户。我可能需要为 SQL 代理创建凭据/代理,但现在我以用户身份登录并通过 SQL 执行包。
问题
在 SSIS 项目本身中,我尝试配置一个动态连接字符串,以在一种情况下使用集成安全性,在另一种情况下使用 SQL 帐户。我只是不知道该怎么做。我尝试过的事情:
1- 创建了一个布尔“UseIntegratedSecurity”参数。在连接字符串中,使用该布尔值与表达式一起设置IntegratedSecurity=SSPI 或不设置,并且还使用表达式单独设置连接字符串的其他属性。不行,说无法建立连接字符串。
2- 创建一个布尔值“UseIntegratedSecurity”参数,并将我的连接字符串写成(丑陋的)类似:@[$Project::IntegratedSecurity] ? "Data Source="+@[$Project::SqlServerName]+";Initial Catalog="+@[$Project::SqlServerDatabase]+";Provider=SQLNCLI11.1;Auto Translate=False;Integrated Security=SSPI;" : "Data Source="+@[$Project::SqlServerName]+";Initial Catalog="+@[$Project::SqlServerDatabase]+";Provider=SQLNCLI11.1;Auto Translate=False;User ID="+@[$Project::SqlServerUsername]+";Password=" + @[$Project::SqlServerPassword]
它不起作用,因为 SqlServerUserName 和 SqlServerPassword 是敏感的,所以它拒绝了。
3- 尝试为 ConnectionString、服务器、数据库、用户、密码设置项目参数并将它们全部设置。在本地工作,但在服务器上,我得到“无效的授权规范”。
想法? 谢谢
【问题讨论】:
标签: sql-server ssis