环境:delphi XE7。OS:Win8.1 UP1 64bit DATABASE:oracle 64bit client
新建一个工程。将TFDConnection,TFDQuery,TFDGUIxWaitCursor,TDataSource,TDBGrid控件拖入到一个form中。把oracle的以下几个dll文件放到windows的path路径下。
oci.dll
oraocci11.dll
oraociei11.dll
orasql11.dll
在form的create事件中:
con1.Params.Add('DriverID=Ora');
con1.Params.Add('Database=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = OraSrv)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl)))');
con1.Params.Add('User_Name=scott');
con1.Params.Add('Password=tiger');
con1.Params.Add('CharacterSet=UTF8'); //否则中文乱码
con1.Connected := True;
fdqry1.Open('select * from emp');
如果是12c的话就需要如下几个dll
oci.dll
oraons.dll
oraocci12.dll
oraociei12.dll
orasql12.dll
实测只需oci.dll,oraons.dll,oraociei12.dll三个dll即可。
注意此时需要安装C++ 2010的运行环境 Microsoft Visual C++ 2010 Redistributable Package。
32位的下载地址为:http://www.microsoft.com/zh-cn/download/details.aspx?id=5555
oracle的客户端下载地址为:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下载 instantclient-basic-nt开头的压缩包,解压出里面的dll即可。
参考:http://docwiki.embarcadero.com/RADStudio/XE7/en/Connect_to_Oracle_Server_(FireDAC)
https://docs.oracle.com/database/121/LNOCI/oci01int.htm#LNOCI010