在Windows上使用PHP连接到Advantage数据库

在Windows上使用PHP连接到Advantage数据库,php,odbc,advantage-database-server,Php,Odbc,Advantage Database Server,我有一个客户的应用程序使用Advantage数据库。 我在尝试使用ODBC或PHP连接器与PHP连接时遇到问题 它得到了这个发现6420错误,这似乎很常见 我想大部分问题是我对Advantage数据库的理解不足。 我想问题可能是实际上没有服务器在运行? 那个应用程序可能有自己的服务器吗? 我已经编写了一个小型C#程序,它连接到数据字典并能很好地读取数据,但它使用了C#的Advantage.data.provider。那像服务器吗 所以我想底线是: 有没有办法连接到这个数据字典/Advantage

我有一个客户的应用程序使用Advantage数据库。 我在尝试使用ODBC或PHP连接器与PHP连接时遇到问题 它得到了这个发现6420错误,这似乎很常见

我想大部分问题是我对Advantage数据库的理解不足。 我想问题可能是实际上没有服务器在运行? 那个应用程序可能有自己的服务器吗? 我已经编写了一个小型C#程序,它连接到数据字典并能很好地读取数据,但它使用了C#的
Advantage.data.provider
。那像服务器吗

所以我想底线是: 有没有办法连接到这个数据字典/Advantage数据库,这样我就可以用PHP访问它?(最好不要买东西)


感谢您的帮助。

注意:我与Advantage或Sybase(拥有Advantage的母公司)没有任何关联;我过去经常和Advantage一起工作,并有一些经验,但我与公司或产品毫无关联

(ADS)以三种不同的模式运行。默认情况下,它在服务器模式(ADS_REMOTE_server)下运行,这要求运行Advantage数据库服务器实例,该实例可通过在特定端口(该端口可配置)进行检查找到

第二种默认模式是ADS_AIS_服务器,它是Advantage Internet服务器。这允许远程连接通过互联网连接直接连接到AIS实例;我从来没有使用过这个版本的广告,所以我不能评论这个模式

最后一种模式是本地服务器(未配置为默认连接类型),在这种情况下,将加载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连接类型设置为“Local(ALS)”。这可以通过“查询选项”对话框完成,该对话框通过单击带有螺丝刀、锤子和扳手的按钮进行访问

  • 如果服务器为NetWare 5或更高版本,请确保Advantage数据库服务器的版本为5.6或更高版本,并确保Advantage客户端为v2.6或更高版本

  • 如果与仅安装了IPX的服务器通信,请确保Advantage client已启用以发送IPX数据包

  • 如果通过防火墙运行,请确保Advantage IP发送和接收端口已正确配置并通过防火墙打开


(我本来打算在Sybase网站上提供指向文档的链接,但它现在似乎处于离线维护状态;我将在明天备份时更新此答案,或者我可以访问从office PC上书签的链接。)

注意:我与Advantage或Sybase(拥有Advantage的母公司)没有关联;我过去经常和Advantage一起工作,并有一些经验,但我与公司或产品毫无关联

(ADS)以三种不同的模式运行。默认情况下,它在服务器模式(ADS_REMOTE_server)下运行,这要求运行Advantage数据库服务器实例,该实例可通过在特定端口(该端口可配置)进行检查找到

第二种默认模式是ADS_AIS_服务器,它是Advantage Internet服务器。这允许远程连接通过互联网连接直接连接到AIS实例;我从来没有使用过这个版本的广告,所以我不能评论这个模式

最后一种模式是本地服务器(未配置为默认连接类型),在这种情况下,将加载Advantage DLL的本地副本,并使用该本地连接运行以访问数据。在此模式下,某些功能不可用(例如事务),并且连接数量有限。Advantage Local Server对本地使用是免费的,最多支持5个连接(无论如何,上次我检查过)

ADS有多种连接方式(ODBC、一个.NET数据提供程序、C库、C#库、Clipper库、FoxPro库以及其他一些),并且在服务器和客户端级别都支持Windows和Linux

<