sql - 将 VB6 应用程序连接到 SQL Azure 数据存储
问题描述
我正在启动一个项目来修改旧应用程序以使用云数据。该应用程序是使用 Access 数据库或基于文件的 SQL Server (.mdb) 的 VB5(不知道为什么不是 VB6)应用程序 由于开发 VB 应用程序的人不愿意(或不能)完全重构应用程序,有人问我研究如何做到这一点。应用程序的完全重写可能在卡片中,但目前绝对不会。我的计划是从概念验证开始,以允许 VB 应用程序中的单个函数使用云数据存储。我计划创建一个 SQL Azure 数据库,其中包含所需的表和数据以及用于访问这些数据的 Web API(C#/.net)我自 90 年代末以来就没有使用过 VB5 或 6,但我非常熟悉它。但是,我不确定将 VB 应用程序连接到 API 以使用云数据存储的最佳方法。以下是我所知道的:我可以使用 XMLHTTP 通过 http 调用来调用 Web 服务。这将从服务器返回 XML 或 Json,我认为我需要反序列化/解析。我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我可以使用 XMLHTTP 通过 http 调用来调用 Web 服务。这将从服务器返回 XML 或 Json,我认为我需要反序列化/解析。我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我可以使用 XMLHTTP 通过 http 调用来调用 Web 服务。这将从服务器返回 XML 或 Json,我认为我需要反序列化/解析。我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?
解决方案
鉴于 VB6 IDE 修改和调试代码有多么繁琐,如果 ADO 连接不可用,我会让事情变得简单。我会使用 XMLHTTP 包装类和格式化程序类。
格式化程序类可以通过遍历节点或使用特定的 XPath 查询来填充 Collection。
通常,为了简化遗留代码,我会在加载 DOM 之前将 XMLNS 命名空间替换为空字符串,这样我就不必一直用它来膨胀代码。
推荐阅读
- c - 在 C 中的链表中的特定位置插入节点(仅限)
- android - 如何在 Android 应用程序中使用 C++ buider 写入文件?
- r - 具有连续变量和分类变量的逻辑回归模型
- jquery - 根据日期以升序或降序反转表 td
- java - 为什么以下两种方法之间存在性能差异?
- jenkins - Jenkins管道:动态并行执行步骤
- angular - UI Bootstrap Datepicker for Angular - 单击月份名称时选择一个月中的所有日期
- large-files - 非常大的文件会在现代文件系统上产生问题吗?
- r - 使用 mutate 为每个 tibble 行产生一个不确定的结果
- reactjs - Webpack 包未导出 React 组件