CodeSmith6.5不像前几个版本,需要用户手动添加oracle驱动,内部已经集成了oracle的驱动。
网上遇到很多win7 64位机子使用CodeSmith连接oracle的时候出现错误如下:
Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
An error of type "InvalidOperationException" occurred while attempting to populate schema information. Please check your data source settings and try again.
这是因为在64位的机器上使用了32位的oracle客户端连接,导致连接失败。
解决方案:安装oracle的64位客户端连接
需要用到的文件(64位系统):(32位系统对应下载32位客户端)
instantclient-basic-windows.x64-11.2.0.3.0.zip
instantclient-jdbc-windows.x64-11.2.0.3.0.zip
instantclient-odbc-windows.x64-11.2.0.3.0.zip
instantclient-sqlplus-windows.x64-11.2.0.3.0.zip
也可以点此下载,里面富有说明文档和这四个文件:
http://download.csdn.net/detail/wq105032007067/7091187
解压缩文件到同一目录
2设置环境变量
NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN=E:\Oracle\instantclient_11_2
Path=E:\Oracle\instantclient_11_2;
将tnsnames.ora放在客户端根目录下
tnsnames.ora内容可参考:
ORCL=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
64位系统PL/SQL配置
(需要下载32位的Oracle11gInstantClient,解压到单独目录)
打开Pl/SQL,首选项-Oracle-连接-OCI库-里面输入32位客户端oci.dll详细路径