sql-server - 尝试在表达式生成器中解析 SSIS 连接字符串
问题描述
在 SSIS 中,我使用 Project.params 参数化数据库连接字符串。使用 Windows 身份验证这很简单,但是我想使用 SQL 身份验证来代替。该连接将在 Execute SQL 任务中使用,以执行仅获取数据列表的存储过程。使用 SQL 身份验证生成参数。密码不存储(这个很好),所以我添加了四个参数:Server、DBName、DBUser、DBPass。我希望能够在运行时动态更改其中的任何一个。所以我的想法是在 db 连接管理器的连接字符串属性上构建连接字符串。问题是它似乎不想验证。这是我正在尝试做的事情的一个想法。
Expression:"Data Source="+ @[$Project::ServerName]+";Initial Catalog="+ @[$Project::DBName]+";User="+ @[$Project::DBUserName]+";password=" +@[$Project::DBPassword]+";"
解决方案
敏感参数(密码)不能在表达式中使用。您将看到如下错误消息:
Expression cannot be evaluated.
The expression will not be evaluated because it contains sensitive parameter
variable "$Package::pw". Verify that the expression is used properly
and that it protects the sensitive information.
您可以按照尼克的建议进行操作并直接参数化连接管理器。我建议只参数化连接字符串和密码(单独)。这将允许您在 windows 和 sql 身份验证之间进行更改。
IE
Windows: 连接字符串:数据源=;初始目录=;提供者=SQLNCLI11.1;集成安全=SSPI;
密码:留空
SQL: ConnectionString:数据源=;初始目录=;提供者=SQLNCLI11.1;用户ID=密码:
推荐阅读
- swift - 为什么定义为 Double 时泛型 Element 的行为会有所不同?
- grails - WFLYCTL0180:缺少/不可用依赖项的服务
- angularjs - 通过 $resource 身份验证发布数据?
- c# - 未注册名为“默认”的 IUserTokenProvider
- macos - 如何在不卸载应用程序的情况下移除木桶?
- node.js - 对话流中的网页抓取
- r-markdown - knitr 不识别已安装的包,但单独运行块没有问题
- python - Pandas - Get a row of data when looping through groupBy results
- r - 根据行中的不同数据创建新数据框
- docker - 如何访问 Docker 容器内的根文件夹