0

我正在使用 MYOB ODBC 驱动程序将新客户记录从 .NET 应用程序插入到 MYOB(AccountRight Premier V19),但记录未正确导入 - 特别是插入的地址部分无法正常工作,然后似乎会影响在这些地址字段之后的所有字段的位置。一切似乎都向后移了一列。

以下是应用程序生成的示例 SQL 语句:

Insert Into Import_Customer_Cards (CoLastName, CardStatus, CurrencyCode, Address1AddressLine1, Address1City, Address1State, Address1PostCode, Address1Country, Address1Phone1, Address1Phone2, Address1Phone3, Address1Fax, Address1Email, Address1Website, Address1ContactName, Address1Salutation, ABN) VALUES ('1 AAA TEST', 'N', 'AUD', '116 My Street', 'My Suburb', 'QLD', '4000', 'Australia', '31033383', '', '', '', '', '', 'This Bloke', '', '12345678910')

'116 My Street' 的值没有被导入,所有后续字段都“向上”移动一列,以便城市在 Address1StreetLine4 列中结束,州在 MYOB 本身内的城市列中结束等。

此外,电话号码和 ABN 字段就消失了!导入完成后,我无法在客户记录的任何地方的 MYOB 中找到它们。

我检查了 MYOB 错误日志文件,没有任何迹象表明出现了重大问题。

我已经尝试了我所知道的一切来尝试让它发挥作用,但我现在很难过。

这里有人对可能导致这种情况的原因有任何想法吗?

我的猜测是这些地址字段需要某种“特殊”格式。我接近了吗?

4

2 回答 2

2
  1. v19 地址行(1 到 4)呈现为好像它们是单独的字段,但实际上驱动程序将它们映射到单个字段。您可以尝试的一件事是在 SQL 语句中包含 Address1AddressLine[2..4],将每个设置为空字符串。注意所有四个字符不要超过 255 个字符(注意你在这里没有危险)。
  2. 除非您确定您的 v19 版本支持货币设置,否则请勿尝试导入货币代码。如果您尝试导入特定版本的 v19 无法识别的值,可能会发生奇怪的事情。
  3. v19 ODBC 驱动程序实际上调用了在文件菜单下的 UI 中公开的相同导入/导出例程。如果您不确定是否正确设置了值,请尝试使用 UI 导入它们(为此,请获取您的导入数据并将其转换为 csv)。您将获得更好的错误响应。
于 2016-02-12T03:14:14.003 回答
2

事实证明这是 MYOB ODBC 驱动程序中的一个错误。

我们没有坚持寻找解决方案,而是升级到最新版本的 MYOB,以便我们可以使用新的 API 程序并完全取消 ODBC 层。

这似乎是最快和最可靠的解决方案。

于 2016-02-17T04:04:40.707 回答