如何使用命令 Import-NAVApplicationObject 使用导出的 *.fob 更新 NAV2018

How to update NAV2018 with exported *.fob using command Import-NAVApplicationObject

我尝试先使用 *.txt 文件更新 NAV2018。但它需要一些开发包。所以我尝试用导出的 *.fob:

更新 NAV2018
Import-Module "${env:ProgramFiles(x86)}\Microsoft Dynamics NAV0\RoleTailored Client\NavModelTools.ps1" -WarningAction SilentlyContinue | Out-Null

Import-NAVApplicationObject -Path D:\work\namise.fob -DatabaseName NAV2018 -LogPath D:\work -SynchronizeSchemaChanges force -Confirm:$false

pause

但是错误 was shown 并且命令没有成功处理。命令 Import-NAVApplicationObject 是否适用于手动导入过程?也可以用于 *.fob 吗?

打开Microsoft Dynamics NAV 开发环境 -> 单击File -> 单击Import -> Select * .fob -> 显示的消息:The objects in D:\work\namise.fob could not be imported because there are objects already in the database with conflicting versions. Choose OK to open the Import Worksheet, or Cancel to stop the import. -> 单击 OK -> 单击 Replace All -> 单击 OK -> 单击 Synchronize Schema Force (Changed will be synchronized to the database table without validation. Data in table column that are affected by the changes will be deleted) - > 点击 Synchronizate changes to the corresponding tables in SQL Server Yes -> 使用来自 select All table schema changes were synchronized with force -> 显示 table where is Import completed (replaced XY) -> 然后重启 NAV 服务 -> 完成

如果命令 Import-NAVApplicationObject 等于提到的手动过程。这些错误是什么意思?可以解决吗?

非常感谢!

亲切的问候

卢卡斯

  1. 是的,comandlet 是手动过程的完整副本。它只是一个包装器,使用 finsql.exe(开发环境)来 运行 过程。
  2. 您需要使用值为 Overwrite https://docs.microsoft.com/en-us/powershell/module/microsoft.dynamics.nav.ide/import-navapplicationobject?view=businesscentral-ps
  3. 的 ImportAction 参数
  4. 不要强制同步架构。您将丢失具有破坏性更改的列中的所有数据。

您可以从 powershell 终端的自动完成功能 (Ctrl+Space) 或从 finsql.exe 参数的 description 中找到的参数值(正如我提到的,cmdlet 只是包装器dev环境可执行文件)。