注意:我与 Advantage 或 Sybase(拥有 Advantage 的母公司)没有任何关系;我以前经常与 Advantage 合作并有一些经验,但与公司或产品无关。
Advantage Database Server (ADS) 以三种不同的模式运行。默认情况下,它在服务器模式(ADS_REMOTE_SERVER)下运行,这需要运行 Advantage 数据库服务器实例,可以通过检查特定端口(端口可配置)找到该实例。
第二种默认模式是 ADS_AIS_SERVER,即 Advantage Internet Server。这允许远程连接通过互联网连接直接连接到 AIS 实例;我从未使用过此版本的 ADS,因此无法评论该模式。
最后一种模式是本地服务器(未配置为默认连接类型),在这种情况下会加载 Advantage DLL 的本地副本,并使用该本地连接运行以访问数据。在这种模式下,某些功能不可用(例如事务),并且连接数受到限制。 Advantage Local Server 可免费在本地使用,最多支持 5 个连接(无论如何,我上次检查过)。
ADS 有多种连接方式(ODBC、.NET 数据提供程序、C、C#、Clipper、FoxPro 等库),并且在服务器和客户端级别都支持 Windows 和 Linux。
模式通常由 API 调用配置;我更熟悉通过它的 Delphi 组件实现来使用 ADS;通过 API,ADSSetServerType 决定使用哪种模式(或模式组合)。
对于 ODBC,您可以通过 ODBC 配置屏幕(使用 Windows 控制面板中的普通 ODBC 管理实用程序时可见)配置模式 - 请参阅下图中的可用服务器类型组框:
根据文档,您认为这是一个发现错误是正确的。您是否检查过建议的解决方案?
问题:Advantage 应用程序无法连接到 Advantage 数据库服务器。
解决方案:有几个问题可能会导致此错误发生。下面列出了一些常见的解决方案。请参阅 Advantage 知识库以获取更详细的说明和更完整的已知错误案例列表。
验证 Advantage 数据库服务器是否已安装并在数据库所在的服务器上运行。
如果尝试使用 Advantage 本地服务器而不是 Advantage 数据库服务器,请确保将应用程序的“服务器类型”设置设置为使用 Advantage 本地服务器。
如果在 Advantage Data Architect 中使用本机 SQL 实用程序,并且您希望使用 Advantage 本地服务器而不是 Advantage 数据库服务器,请确保将 Advantage 连接类型设置为“本地 (ALS)”。这可以通过“查询选项”对话框来完成,该对话框通过单击上面有螺丝刀、锤子和扳手的按钮来访问。
如果服务器是 NetWare 5 或更高版本,请确保 Advantage 数据库服务器的版本是 5.6 或更高版本,并确保 Advantage 客户端是 v2.6 或更高版本。
如果与仅安装了 IPX 的服务器通信,请确保启用 Advantage 客户端以发送 IPX 数据包。
如果通过防火墙运行,请确保正确配置 Advantage IP 发送和接收端口并通过防火墙打开。
(我打算在 Sybase 网站上提供指向文档的链接,但它现在似乎处于脱机状态以进行维护;我将在明天备份此答案时更新此答案,或者我可以访问已添加书签的链接从我的办公室电脑上。)