据说CodeSmith连Oracle特别麻烦,什么WIN7下不行,64位下不行。之前有个同事为了用上CodeSmith,还特地装了个XP虚拟机。
其实,还是那个连接串的问题。
操作系统64位,就要用64位的驱程。但我们机器上装的是oracle 10g,一个不分64、32位的混蛋,其实就是32位的。反正我们本机出发的连接串,要靠这个32位的oracle客户端来解释。如果服务器的oracle是64位的11g甚至12c,它就没办法解释了。
但是,这个连接串为啥要它来解释?
看看这个连接串,酱紫写的:
DATA SOURCE=PDBGZFBC;PASSWORD=test;PERSIST SECURITY INFO=True;USER ID=123;
DATA SOURCE=PDBGZFBC;啥是PDBGZFBC?噢,它是在我机器上32位的oracle 10g客户端那里定义的:
主要是靠10g客户端来解释这个串。其实我们可以直接写在连接串里,无须经过它解释。所以,酱紫写连接串:
Server=(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.22)(PORT = 1522))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = GZFBC)
)
);PASSWORD=test;PERSIST SECURITY INFO=True;USER ID=123;
codesmith可以连oracle矣。