我有一个InfoPath表单,它有一些master-detail模式,底层主数据源中有两个表。我正在尝试将其迁移到新的SQL Server - 相同的数据库,只是从SQL2005计算机移动到SQL2008计算机。
如果我更改了servername,它还要我更改数据库和表。如果我选择相同的数据库和主表,则为主表维护绑定。但是,当您更改数据源时,似乎没有办法选择多个表,因此您将丢失详细信息绑定。
我错过了什么 - 我对InfoPath很陌生。
答案 0 :(得分:0)
在InfoPath中更改数据库服务器(假设架构完全相同)的最简单方法是通过后端破解它。我们使用相同的过程来编写表单从开发环境到生产的更改。
如果您使用托管代码解决方案,则文件位于“InfoPath表单模板”文件夹中。如果您使用常规.xsn文件,则将.zip附加到文件名的末尾,并将所有文件解压缩到一个文件夹(或者您可以使用cabarc而不是zip)。
编辑manifest.xsf文件。应该有一个dataobject标记用于您的服务器连接信息(搜索服务器名称是在混乱中找到它的最简单方法)。只需更改服务器名称并保存文件即可。
如果您使用托管代码,那么您已完成,下次打开项目时它将使用新连接。否则你需要使用cabarc重新打包.xsn文件,或者我认为你也可以重新压缩。
请注意,此编辑不会增加表单的版本号,因为您没有真正使用该程序进行更改。
希望有所帮助 - 使用程序本身是一件非常痛苦的事情,但手动完成并且不易编写(并且易于编写脚本)。