【问题标题】:MYOB Data into SQL Server via API通过 API 将 MYOB 数据导入 SQL Server
【发布时间】:2015-02-26 04:10:49
【问题描述】:

我在 MYOB 支持论坛上发布了this 问题,他们的支持团队回复说我最好联系熟悉 SQL Server 的人。

我正在尝试从我们的 MYOB 文件中获取数据到 SQL 服务器。我找到了下面的代码,但是它不会检索任何数据(我想我需要输入用户名和密码作为参数,但我不确定如何)。

以下是我的代码(已删除公司文件信息)

Declare @Object as Int;
Declare @ResponseText as Varchar(8000);

Exec sp_OACreate  'MSXML2.XMLHTTP'
                , @Object OUT;
Exec sp_OAMethod   @Object
                , 'open'
                , NULL
                , 'get'
                , 'http://localhost:8080/AccountRight/fccce.....6e/GeneralLedger/TaxCode/?api-version=v2'
                , 'false'
Exec sp_OAMethod @Object
                , 'send'
Exec sp_OAMethod  @Object
                , 'responseText'
                , @ResponseText OUTPUT

Select @ResponseText

Exec sp_OADestroy @Object

谁能帮我解决这个问题?

谢谢。

【问题讨论】:

  • 首先让它使用更简单的设置,即在服务器上创建一个 VBScript(或任何你喜欢的东西),运行并调试它。这将允许您发现您缺少的任何东西,例如登录等。直接跳入 SQL Server 中的 sp_OA sp 的复杂性太多,无法第一次工作或允许您调试

标签: sql-server myob


【解决方案1】:
  1. 您正在服务器上运行它,因此您应该实例化一个“MSXML2.ServerXMLHTTP”对象。
  2. 要对您的公司文件进行身份验证,请尝试 Exec sp_OAMethod @Object, 'open', NULL, 'GET', 'http://localhost:8080/[Your URL]', 'false', 'Administrator', '[admin password]'李>
  3. 要获得响应,您可能需要调用 sp_OAGetProperty 而不是 sp_OAMethod
  4. API 根据格式查询字符串参数(默认为 JSON)返回 JSON 或 HTML。由于 API 具有 OData 接口,并且 OData 确实支持 XML 响应,因此您可以尝试请求 XML 响应。为此,您需要添加一个 Accept 标头:Exec sp_OAMethod @Object, 'setRequestHeader' 'Accept', 'application/xml'。
  5. 我有点犹豫的原因是,虽然我了解您想要实现的目标,但 API 的设计并未考虑到 MSXML2 库。我同意您的 URL 很好 - 如果不是 API 团队会让您直截了当。
  6. 通常您要做的是定义一个 DTO,然后使用从 API 返回的 JSON 对其进行初始化,然后将 DTO 映射到您的数据库中。查看http://developer.myob.com/api/accountright/code-samples-sdks/ 他们有.Net、Java、PHP、Node 和Ruby。感谢您希望剪掉中间的代码,祝您好运接受标头。

【讨论】:

  • 仍然有这个问题。我已经进行了更改,但仍然没有结果。我的 url 很好(如果我 CTRL + 单击它,它会打开并显示数据)。我试过 sp_OAGetErrorInfo 看看它是否告诉我除了没有错误之外的任何东西......有什么想法吗?
  • 我认为您已经使用格式查询字符串参数一针见血了。 API 返回 JSON 或 HTML。我已经编辑了回复,添加了您可以尝试的另一件事,然后提出了前进的建议。
猜你喜欢
  • 1970-01-01
  • 2013-06-08
  • 2016-12-04
  • 1970-01-01
  • 2011-09-26
  • 2011-05-09
  • 1970-01-01
  • 2016-08-24
  • 2010-09-22
相关资源
最近更新 更多