更改连接字符串中的三个数据库名称
changing three DB names in a connection string
我需要编辑脚本来更改应用配置文件中的三个连接字符串。我为连接字符串创建了一个变量,提供服务器、虚拟数据库名称、用户名和密码。
所以,变量是Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword
。
这运行良好,正在相应地更新配置文件。下一阶段是再次遍历连接字符串并将 dummyDbName 替换为连接字符串名称,因此 if:
<add name="correctDbName" connectionString="Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword" providerName="System.Data.SqlClient" />
我想将 Database=dummyDbName
更改为 Database=correctDbName
。
我走在正确的轨道上吗?
$appConfigFile = (Join-Path $filelocation)
$appConfig = [xml](Get-Content $appConfigFile)
$dbName = ($appConfig.configuration.connectionStrings.add | Where-Object {$_.name -eq "aspnetdb"})
$dbName = $dbname -replace "dummyDbName", "aspnetdb"
是的,您的方向是正确的。但是由于您要替换的名称位于 <add>
节点的 属性 中,因此您需要修改 属性,而不是节点本身:
$node = $appConfig.configuration.connectionStrings.add |
Where-Object {$_.name -eq "aspnetdb"}
$node.connectionString = $node.connectionString -replace 'dummyDbName', 'aspnetdb'
将修改后的 XML 保存回文件。
$appConfig.Save($appConfigFile)
我需要编辑脚本来更改应用配置文件中的三个连接字符串。我为连接字符串创建了一个变量,提供服务器、虚拟数据库名称、用户名和密码。
所以,变量是Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword
。
这运行良好,正在相应地更新配置文件。下一阶段是再次遍历连接字符串并将 dummyDbName 替换为连接字符串名称,因此 if:
<add name="correctDbName" connectionString="Server=serverName;Database=dummyDbName;User ID=userName;Password=securePassword" providerName="System.Data.SqlClient" />
我想将 Database=dummyDbName
更改为 Database=correctDbName
。
我走在正确的轨道上吗?
$appConfigFile = (Join-Path $filelocation)
$appConfig = [xml](Get-Content $appConfigFile)
$dbName = ($appConfig.configuration.connectionStrings.add | Where-Object {$_.name -eq "aspnetdb"})
$dbName = $dbname -replace "dummyDbName", "aspnetdb"
是的,您的方向是正确的。但是由于您要替换的名称位于 <add>
节点的 属性 中,因此您需要修改 属性,而不是节点本身:
$node = $appConfig.configuration.connectionStrings.add |
Where-Object {$_.name -eq "aspnetdb"}
$node.connectionString = $node.connectionString -replace 'dummyDbName', 'aspnetdb'
将修改后的 XML 保存回文件。
$appConfig.Save($appConfigFile)