Red Hat Enterprise Linux Server release 5.2 64bit
Red Hat Enterprise Linux Server release 5.4 32bit
Oracle Database 10.2.0.4 64bit
SQL Server 2005
需要配置,通过hsodbc让oracle连接到sql server。
数据库在64位的Linux上,但是hsodbc的程序是32位的,即使安装的oracle是64位的oracle,所以我们需要在32位的Linux下编译我们需要的软件。
1. 下载文件
* unixODBC unixODBC-2.2.12.tar.gz 下载地址 www.unixODBC.org
* freetds freetds-0.82.tar.gz 下载地址 www.freetds.org
* Libtool libtool-2.2.4.tar.gz
* libiconv libiconv-1.12.tar.gz
2. 找一台32位的Linux AS5,安装软件
(1)安装配置 libtool
gzip –d libtool-2.2.4.tar.gz
tar –xvf libtool-2.2.4.tar
cd libtool-2.2.4
./configure –prefix=/usr/local/libtool
make
make install
(2)安装配置 libiconv
gzip –d libiconv-1.12.tar.gz
tar –xvf libiconv-1.12.tar
cd libiconv-1.12
./configure –prefix=/usr/local/libiconv
make
make install
(3)安装配置 libiconv
gzip –d unixODBC-2.2.12.tar.gz
tar –xvf unixODBC-2.2.12.tar
cd unixODBC-2.2.12
./configure –prefix=/usr/local/unixODBC –enable-gui=no
make
make install
cd /usr/local/unixODBC/lib
ar x libodbc.a
ln libodbc.so.1 libodbc.so
(4)安装配置 freetds
gzip –d freetds-0.82.tar.gz
tar –xvf freetds-0.82.tar
cd freetds-0.82
./configure –prefix=/usr/local/freetds –with-unixodbc=/usr/local/unixODBC –disable-shared
make
cp /usr/local/bin/libtool ./
make clean
make
make install
如果安装过程有错误一般都是由于确实包导致的。
3. 在64位的oracle服务器上创建一个目录 /home/oracle/unixodbc/ freetds_lib32 和 /home/oracle/unixodbc/unixodbc_lib32
用ftp工具将32位Linux上的
/usr/local/libiconv/lib
/usr/local/libtool/lib
/usr/local/unixODBC/lib
3个目录下的文件都下载到 /home/oracle/unixodbc/unixodbc_lib32 目录下。
/usr/local/freetds/lib
目录下的文件都下载到 /home/oracle/unixodbc/freetds_lib32 目录下。
4. 创建一个文件odbc.ini,内容如下:
[sqlserver]
Driver = /home/oracle/unixodbc/freetds_lib32/libtdsodbc.so
Server = 192.168.11.230
Database = EC6
Port = 1433
5. 在$ORACLE_HOME/hs/admin目录下创建个文件 initsqlserver.ora,内容如下:
HS_FDS_CONNECT_INFO = sqlserver
HS_FDS_TRACE_LEVEL = DEBUG
HS_FDS_SHAREABLE_NAME = /home/oracle/unixodbc/unixodbc_lib32/libodbc.so
set DBCINI=/home/oracle/unixodbc/odbc.ini
set TDSVER=8.0
6. 修改 $ORACLE_HOME/network/admin/listener.ora 添加下面内容:
(SID_DESC =
(ORACLE_HOME = /u01/oracle/10gdb)
(SID_NAME = sqlserver)
(PROGRAM=hsodbc)
(ENVS=LD_LIBRARY_PATH=/u01/oracle/10gdb/lib32:/u01/oracle/10gdb/hs/lib32:/home/oracle/unixodbc/unixodbc_lib32)
)
7. 重启监听器。
8. 修改 $ORACLE_HOME/network/admin/tnsnames.ora添加下面内容:
sqlserver =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.65)(PORT = 1521))
(CONNECT_DATA=(SID=sqlserver))
(HS=OK)
)
9. 创建dblink
create public database link sap
connect to "sa" identified by "sap123456"
using ’sqlserver’;
10.测试dblink
select * from "ec6.BCONT"@sap
成功通过。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/611609/viewspace-667769/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/611609/viewspace-667769/