Database 找不到提供程序。使用firebird可能无法正确安装

Database 找不到提供程序。使用firebird可能无法正确安装,database,delphi,firebird,Database,Delphi,Firebird,我编写了一个数据库应用程序,在Windows7中使用DelphiXe2和firebird数据库开发。一切都很好,当我在一台pc上或通过LAN启动服务器和客户端时,一切都很好。所以今天我把服务器和客户端移到了WindowsServer2008R2,这就是问题的根源 首先,我安装了Firebird 2.5,我启动了我的服务器,它启动了。然后,我尝试在与服务器相同的pc上启动客户机,这时出现错误: 找不到提供程序。它可能没有正确安装 我不知道从哪里着手解决这个问题。这是我第一次使用Windows Se

我编写了一个数据库应用程序,在Windows7中使用DelphiXe2和firebird数据库开发。一切都很好,当我在一台pc上或通过LAN启动服务器和客户端时,一切都很好。所以今天我把服务器和客户端移到了WindowsServer2008R2,这就是问题的根源

首先,我安装了Firebird 2.5,我启动了我的服务器,它启动了。然后,我尝试在与服务器相同的pc上启动客户机,这时出现错误:

找不到提供程序。它可能没有正确安装

我不知道从哪里着手解决这个问题。这是我第一次使用Windows Server操作系统,所以我不知道它是否与操作系统相关,因为当我在Windows 7上运行它时,一切都很好

编辑:我正在使用firebird的TSQLConnection,它的驱动程序设置为datasnap,端口211,主机名localhost。
在阅读时,我发现microsoft.jet.oledb.4.0提供程序存在一些问题,我正在使用一个小型数据库与客户端,这是一个MS Access数据库,它采用2007-2013格式,这可能是问题所在吗?对于MSAccess数据库,我使用TADOConnection和TaToTable组件。

您缺少datasnap库。以下链接可能会帮助您:

请看“使用驱动程序DLL的dbExpress部署”部分


希望有帮助。

好的,我设法解决了这个问题。错误的原因从来不是firebird或任何dll。Microsoft Server 2008 R2似乎不喜欢TADOConnect的连接字符串,因为我使用的是MSAccess数据库2007版本,提供程序是Microsoft Office 12.0 Access数据库引擎OLE DB提供程序。当我将数据库更改为2003 MSAccess数据库,并将提供程序更改为Microsoft Jet 4.0 OLE DB提供程序时,问题已经解决,我的应用程序运行平稳。我现在只是想知道,为什么新的格式和新的提供程序在MicrosoftServer2008R2中不起作用

在Delphi代码中设置数据库连接时,连接字符串中有一个服务器名或IP-您是否已更新它以匹配新服务器?是的,主机名与服务器相同,即使我将主机名更改为localhost,因为它与firebird服务器在同一台pc上运行,它仍然给我错误,请添加更多关于连接(ADO、dbxpress、FireDAC等)和设置的信息。我猜这是ADO(如果你在谷歌上搜索错误消息,大多数点击率都很高)。顺便说一句,google是处理未知错误消息的一个很好的起点。当使用ODBC时,他应该部署什么dll?我看不出这是一个dll问题,我在服务器上测试了另一个firebird应用程序,它在没有任何问题的情况下工作,这两个应用程序之间的唯一区别是在测试应用程序上,它使用的临时数据库是MSAccess 2003格式,而不工作的应用程序使用的是临时数据库MSAccess 2007格式,因此我想说的是,可能是MSAccess 2007上的连接字符串的提供者导致了错误problem@SirRufo对不起,我没有ODBC+Delphi的任何经验。如果您允许我猜测一下,您只需要安装ODBC Firebird提供程序,并使用适当的Delphi组件与ODBC进行对话(我不知道是哪个)。当我需要使用ODBC(旧版应用程序,ADO.Net是不可选项)从C#连接到PostgreSQL时,我就是这样做的。在你的问题中,你说的是
TSQLConnection
(属于dbXpress),这里你说的是
TADOConnection
(属于ADO)。如果你说的是错误的事实,没有人能给你一个有效的答案。