I'm trying to move my packages to production using a configuration file, but file is changed only partly and the results go still to DEV server.
我正在尝试使用配置文件将我的包移动到生产中,但文件只是部分更改,结果仍然是DEV服务器。
Does anybody know what to do?
有谁知道该怎么办?
5 个解决方案
#1
It is difficult to isolate the cause of your issues without access to your configuration files.
如果不访问配置文件,很难找出问题的原因。
What I suggest you do is make use of package configurations that reference a database within your environment. The databases themselves can then be referenced using environment variables that are unique to each environment.
我建议你做的是使用引用环境中数据库的包配置。然后可以使用每个环境唯一的环境变量来引用数据库本身。
This a brilliant time saver and a good way to centrally manage the configuration of all your SSIS packages. Take a look at the following reference for details.
这是一个节省时间的好方法,也是集中管理所有SSIS包配置的好方法。有关详细信息,请查看以下参考。
http://www.mssqltips.com/tip.asp?tip=1405
Once configured, you can deploy the same identical package between dev and production without needing to apply a single modification to the SSIS package or mess around with configuration files.
配置完成后,您可以在开发和生产之间部署相同的相同包,而无需对SSIS包应用单个修改或乱用配置文件。
#2
You could still have hard-coded connections in your package even though you are using a configuration file. You'll need to check every connection as well.
即使您使用配置文件,您仍然可以在程序包中使用硬编码连接。您还需要检查每个连接。
#3
You can also go the long way around. Go into Integration Services and Export the stored package to its dtsx file. Then you can pull open the file in any good text editor, do a find/replace on your server name and then go back into Integration Services and Import the updated package. Alot of times it's just easier...
你也可以走很远的路。进入Integration Services并将存储的包导出到其dtsx文件。然后,您可以在任何好的文本编辑器中打开文件,在服务器名称上执行查找/替换,然后返回Integration Services并导入更新的包。很多时候它更容易......
#4
everybody and thanks for answering. I'd managed to solve this problem in an ugly way - editing packages on server, but I'd like very much more elegant solution - now I'm trying with environment variable,it seems great, but the wizard that I'm getting is different from that is given in link - and I don't know how to continue.(I'm using VStudio 2005) Besides, I tried configuration file as XML, but package run fails even on the source machine, so I'm stuck !
大家,谢谢你的回答。我设法以一种丑陋的方式解决了这个问题 - 在服务器上编辑软件包,但我想要更优雅的解决方案 - 现在我正在尝试使用环境变量,它看起来很棒,但是我得到的向导与链接中给出的不同 - 我不知道如何继续。(我正在使用VStudio 2005)此外,我尝试将配置文件作为XML,但是即使在源计算机上包运行也会失败,所以我是卡住 !
#5
My personal technique has been to first have a single config file that points the package to a SQL Based Package Config (the connection string to the config DB). Subsequent entries in the package config use the SQL store to load their settings. I have a script that goes into the XML of the package and preps them for deployment to stage or prod. A config file holds the name of the Package Configuration's initial file config entry and where the stage and prod configuration db configruation file is located. The script produces two subdirectories for stage and prod. Each directory has a copy of the solution packages modified for their particular deployment.
我个人的技术是首先有一个配置文件,将包指向基于SQL的包配置(连接到配置数据库的字符串)。程序包配置中的后续条目使用SQL存储来加载其设置。我有一个脚本进入包的XML并准备它们进行部署到stage或prod。配置文件包含程序包配置的初始文件配置条目的名称以及stage和prod配置db configruation文件所在的位置。该脚本为stage和prod生成两个子目录。每个目录都有一个针对其特定部署而修改的解决方案包的副本。
Also! Don't forget to turn off encryption in the package files!
也!不要忘记关闭包文件中的加密!
#1
It is difficult to isolate the cause of your issues without access to your configuration files.
如果不访问配置文件,很难找出问题的原因。
What I suggest you do is make use of package configurations that reference a database within your environment. The databases themselves can then be referenced using environment variables that are unique to each environment.
我建议你做的是使用引用环境中数据库的包配置。然后可以使用每个环境唯一的环境变量来引用数据库本身。
This a brilliant time saver and a good way to centrally manage the configuration of all your SSIS packages. Take a look at the following reference for details.
这是一个节省时间的好方法,也是集中管理所有SSIS包配置的好方法。有关详细信息,请查看以下参考。
http://www.mssqltips.com/tip.asp?tip=1405
Once configured, you can deploy the same identical package between dev and production without needing to apply a single modification to the SSIS package or mess around with configuration files.
配置完成后,您可以在开发和生产之间部署相同的相同包,而无需对SSIS包应用单个修改或乱用配置文件。
#2
You could still have hard-coded connections in your package even though you are using a configuration file. You'll need to check every connection as well.
即使您使用配置文件,您仍然可以在程序包中使用硬编码连接。您还需要检查每个连接。
#3
You can also go the long way around. Go into Integration Services and Export the stored package to its dtsx file. Then you can pull open the file in any good text editor, do a find/replace on your server name and then go back into Integration Services and Import the updated package. Alot of times it's just easier...
你也可以走很远的路。进入Integration Services并将存储的包导出到其dtsx文件。然后,您可以在任何好的文本编辑器中打开文件,在服务器名称上执行查找/替换,然后返回Integration Services并导入更新的包。很多时候它更容易......
#4
everybody and thanks for answering. I'd managed to solve this problem in an ugly way - editing packages on server, but I'd like very much more elegant solution - now I'm trying with environment variable,it seems great, but the wizard that I'm getting is different from that is given in link - and I don't know how to continue.(I'm using VStudio 2005) Besides, I tried configuration file as XML, but package run fails even on the source machine, so I'm stuck !
大家,谢谢你的回答。我设法以一种丑陋的方式解决了这个问题 - 在服务器上编辑软件包,但我想要更优雅的解决方案 - 现在我正在尝试使用环境变量,它看起来很棒,但是我得到的向导与链接中给出的不同 - 我不知道如何继续。(我正在使用VStudio 2005)此外,我尝试将配置文件作为XML,但是即使在源计算机上包运行也会失败,所以我是卡住 !
#5
My personal technique has been to first have a single config file that points the package to a SQL Based Package Config (the connection string to the config DB). Subsequent entries in the package config use the SQL store to load their settings. I have a script that goes into the XML of the package and preps them for deployment to stage or prod. A config file holds the name of the Package Configuration's initial file config entry and where the stage and prod configuration db configruation file is located. The script produces two subdirectories for stage and prod. Each directory has a copy of the solution packages modified for their particular deployment.
我个人的技术是首先有一个配置文件,将包指向基于SQL的包配置(连接到配置数据库的字符串)。程序包配置中的后续条目使用SQL存储来加载其设置。我有一个脚本进入包的XML并准备它们进行部署到stage或prod。配置文件包含程序包配置的初始文件配置条目的名称以及stage和prod配置db configruation文件所在的位置。该脚本为stage和prod生成两个子目录。每个目录都有一个针对其特定部署而修改的解决方案包的副本。
Also! Don't forget to turn off encryption in the package files!
也!不要忘记关闭包文件中的加密!