我正在尝试使用提供的连接字符串运行Update-Database。对于我的测试,我添加了-Script
标志,这是非破坏性的
似乎连接字符串中需要参数ConnectionProviderName,但只是添加它会导致此错误:
Keyword not supported: 'ConnectionProviderName'
我无法传递参数" ConnectionProviderName"
我可以按照下面的步骤分两步运行命令,但我宁愿一步完成命令。
PM> update-database -ConnectionString 'data source=10.10.10.20;initial catalog=MyDatabase;user id=db_user;password=1234;' -Script
返回以下请求以获取更多信息,然后我需要提供:
cmdlet Update-Database at command pipeline position 1
Supply values for the following parameters:
ConnectionProviderName: System.Data.SqlClient
在我提供ConnectionProviderName之后,命令运行正常。
如何在1个命令中执行此操作?
由于
答案 0 :(得分:8)
无法在连接字符串中指定参数ConnectionProviderName;显然,它必须是它自己的参数,因为以下作品
update-database -ConnectionString 'data source=10.10.10.20;initial catalog=MyDatabase;user id=db_user;password=1234;' -ConnectionProviderName System.Data.SqlClient -Script
答案 1 :(得分:4)
是的,它们是单独的论点。当您将这些文件放入配置文件(我建议)时,您可以使用
<add name="myConnection"
connectionString="data source=10.10.10.20;initial catalog=MyDatabase;user id=db_user;password=1234;"
providerName="System.Data.SqlClient" />
如果您的配置文件中只有一个连接字符串,那么您只需拨打update-database
即可。但是,如果您有多个,则必须使用update-database -ConnectionStringName "myConnection"
进行调用以区分每个连接。
如果你真的想在每个调用中指定它,那么你只需指定两个参数。