2012-03-29 68 views
0

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

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

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

感谢您的帮助。

回答

5

注:我与Advantage或Sybase(拥有Advantage的母公司)没有任何关系;我以前经常与Advantage合作并有一定的经验,但绝不会与公司或产品相关联。

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

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

最终模式是本地服务器(未配置为默认连接类型),在这种情况下的优势DLL的本地副本被加载并运行使用该本地连接来访问该数据。在这种模式下,某些功能不可用(例如交易),并且连接数量有限。优点本地服务器免费供本地使用,并支持多达5个连接(最后我检查,无论如何)。 ADS有多种连接方式(ODBC,.NET数据提供程序,用于C,C#,Clipper,FoxPro和其他一些库),并且在服务器和客户端都支持Windows和Linux。

该模式通常由API调用配置;我更熟悉通过它的Delphi组件实现来使用ADS;通过API,它是ADSSetServerType,它确定使用哪种模式(或模式组合)。

对于ODBC,您可以配置通过ODBC配置屏幕模式(可见使用Windows控制面板中的正常ODBC管理实用程序时) - 看到可用的服务器类型如下图所示GROUPBOX:

ADS ODBC Configuration Screen

根据文档,你是正确的,它是一个发现错误。你有没有检查建议的解决方案?

问题:Advantage应用程序无法连接到Advantage数据库服务器。

解决方案:有几个问题会导致发生此错误。下面列出了一些常见解决方案。参考优势知识库获取更详细的说明和更完整的已知错误案例列表。

  • 验证Advantage Database Server是否已安装并正在数据库所在的服务器上运行。

  • 如果尝试使用Advantage Local Server而不是Advantage Database Server,请确保将应用程序的“服务器类型”设置设置为使用Advantage Local Server。

  • 如果在Advantage Data Architect中使用Native SQL Utility,并且希望使用Advantage Local Server而不是Advantage Database Server,请确保Advantage连接类型设置为“Local(ALS)”。这可以通过查询选项对话框来完成,通过点击其上带有螺丝刀,锤子和扳手的按钮来访问该对话框。

  • 如果服务器是NetWare 5或更高版本,请确保Advantage Database Server的版本是5.6或更高版本,并确保Advantage客户端是v2.6或更高版本。

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

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

(我会提供链接的Sybase网站上的文档,但它似乎是离线进行维护,现在,当它的备份或我有我会更新这个答案明天访问我的办公室电脑书签的链接。)

+0

肯,非常感谢回复。 如果我有点密集,我很抱歉。 我只是跟着你上面的例子,仍然得到了同样的错误 这是提到的第一个项目是 _Verify优势数据库服务器的安装位置以及数据库located._ 在服务器上运行这是我仍然困惑。我所拥有的就是数据目录。我需要安装某种Advantage本地服务器吗? – randy 2012-03-29 02:10:09

+1

@randy,如果您没有安装ADS,只需取消选中“远程服务器”和“Internet服务器”,然后在ODBC配置中检查“本地服务器”。 – 2012-03-29 23:22:34