我想知道是否有任何可用于Delphi XE-2的开源组件可以连接到postgreSQL,而不是使用像ODBC这样的过时技术。
目前只需要Win32支持,但如果Win64和OS-X支持也可用,这将是一个奖励。
我用Google搜索了一下,但是唯一可用的库(ZEOS)看起来已经不再处于活动开发阶段了。
似乎有一个Delphi XE2补丁,但我无法编译。
答案 0 :(得分:8)
截至目前:否。
您要么通过ADO路由 - > ODBC,dbExpress - > ODBC(对于XE2 *,见下文),希望使Zeos工作,或支付各种商业组件之一(PostgresDAC,DevArt或AnyDAC,仅举几例)
虽然Delphi XE2附带了一个用于dbExpress的ODBC驱动程序,但它仅适用于企业SKU及更高版本 - 它在Pro中不可用。对于XE2 Pro用户和旧版本Delphi的用户,Open dbExpress。我以前尝试过使用它,但总是遇到麻烦。它已经更新,因为我上次使用它,所以也许我遇到的任何问题(可能是我自己的错)都不再是问题了。
所有这些都说,ODBC并不是一种过时的技术。在非Windows系统上,它似乎是首选的与数据库无关的API。也就是说,似乎许多环境都倾向于实现自己的连接(例如QT,GNOME),而不是仅依赖于ODBC。但是,对于PostgreSQL项目本身,它们的默认(和最受支持的)连接API是ODBC。
更新:事实上,从SQL Server 2002(代号为Denali)开始,Microsoft正在将ODBC作为SQL Server的首要连接API。请参阅:Microsoft Aligning with ODBC和Microsoft is Aligning with ODBC for Native Relational Data Access。这是支持OLE DB的最后一个版本,Microsoft鼓励开发人员使用ODBC。
答案 1 :(得分:1)
事实证明,你可以让ZEOS在Delphi XE2上运行,并且我已经测试了所有数据库功能的工作原理。
以下是要遵循的步骤:
zeos
文件夹放在适当的位置,我假设c:\borland
C:\borland\zeos\packages\delphi16\ZComponent.dpk
并移除尾随的{$IFDEF}
(请记住保持;
到位)。c:\borland\zeos\packages\delphi16\ZeosDbo.groupproj
。build all
c:\borland\zeos\packages\delphi16\build
,复制所有.bpl
个文件并将其复制到c:\borland\delphixe2\bin
Component -> install packages
- > [add...]
并选择
c:\borland\delphixe2\bin\ZComponentDesign.bpl
作为SVN客户端,我从http://tortoisesvn.net/downloads.html下载了SVN-tortoise 结合Firefox的SVN插件