我正在尝试将 Skyward 数据库(Progress 数据库)连接到 MS SQL Server。我要做什么才能连接?首先在系统 DSN 中的 ODBC 管理器中设置到 Progress 数据库的 ODBC 连接。(在系统 DSN 中,我选择 SQL 服务器的 ODBC 驱动程序)。在设置过程中,我在服务器名称上输入 IP 地址。之后,我测试我的连接,它给出一个错误:未建立连接。我不知道为什么没有连接,我输入的主机名是正确的。
然后点击配置的驱动程序
此后,如果我测试此连接,它会失败。
如果我选择其他驱动程序datadirect SQL服务器
之后,我点击测试连接,它显示验证主机名和端口的错误
请帮助我连接 Skyward 数据库,另外 Skyward 托管在另一台基于云的服务器上。
答案1
确认您有身份验证权限
根据您的屏幕截图显示使用集成身份验证如果失败,您将需要确认您登录的帐户以及运行 ODBC 连接测试的帐户是否具有连接适用的 SQL Server 实例的适当权限。
笔记: 您可能需要与 SQL Server 实例的数据库管理员一起确认此 SQL 安全性是否到位。
确认您使用的是正确的端口
您可能需要手动指定 ODBC 连接将连接到 SQL Server 实例的端口,以防它无法动态找到它或使用错误的端口。
点击客户端配置来自为 SQL Server 创建新的数据源窗户。
来自添加网络库配置窗口,确保动态确定端口未选中,并在端口号场地。
查找 SQL Server 实例的监听 TCP 端口
USE [master] EXEC xp_readerrorlog 0, 1, N'Server is listening on', 'any', NULL, NULL, N'asc' --EXEC xp_readerrorlog 0, 1, N'Server is listening on'
笔记: 您可能需要从 SQL Server 实例的数据库管理员那里获取此信息。
考虑使用 SQL 登录进行身份验证
考虑使用 SQL 登录凭据而不是使用集成身份验证来验证是否有权访问 SQL Server 实例。
来自添加网络库配置窗口检查使用用户输入的登录 ID 和密码进行 SQL Server 身份验证选项,然后输入登录ID和密码进入这些领域。
笔记: 您可能需要与数据库管理员联系以获取此设置以及用于此级别的身份验证的登录 ID 和密码。
更多资源
答案2
ISCORP 需要确保他们已经在数据库代理上启用了 SQL 连接,并且有足够的服务器插槽供 SQL 连接进入。
另一种方法是将所需数据导出到 MSSQL 数据库并从那里生成报告。数据字典中有可用的工具来帮助实现此目的,并且有可用的产品 (pro2SQL) 可以实时执行此操作。
我知道有几十个 Skyward 客户使用 Pro2 产品做到了这一点。
答案3
仅概述:我们成功为 Skyward Open Edge 数据库设置了 ODBC 驱动程序。多个 DB 客户端能够像 DBeaver 一样使用它。然后有人在 SQL Server 中设置了链接到这些数据库的服务器。可以使用 select * from openquery(remote_db, 'insert query'); 查询这些远程 DB 表。然后根据这种方法创建视图,以便可以使用用户友好的语法查询它们。