最近在5.4和6.0的BIM中选择数据中心(Oracle库)后,测试连接时会报“帐套连接测试失败,Io 异常: Socket is not connected”,如下图,
保存设置后,经检查数据源的配置文件【BIM工作空间】/runtime/config/datasources.xml 发现如下:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<datasource name="01" jndi-name="jdbc/01" driver-class="com.kingdee.bos.sql.shell.Driver" url="jdbc:ksql:oracle.jdbc.driver.OracleDriver:dbtype=oracle9:jdbc:oracle:thin:@//172.16.5.1:1521:hr/hr" min-spare-connections="10" max-spare-connections="50" idle-timeout="60">
<property name="user" value="hr" />
<property name="password" value="hr" />
<remote-acl>
<user>admin</user>
</remote-acl>
</datasource>
<datasource name="01_Query" jndi-name="jdbc/01_Query" driver-class="com.kingdee.bos.sql.shell.Driver" url="jdbc:ksql:oracle.jdbc.driver.OracleDriver:dbtype=oracle9:jdbc:oracle:thin:@//172.16.5.1:1521:hr/hr" min-spare-connections="10" max-spare-connections="50" idle-timeout="60">
<property name="user" value="hr" />
<property name="password" value="hr" />
<remote-acl>
<user>admin</user>
</remote-acl>
</datasource>
</datasources>
这是BIM在保存后修改的数据源配置文件,请注意上面的红字部分是错误的,应该为:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<datasource name="01" jndi-name="jdbc/01" driver-class="com.kingdee.bos.sql.shell.Driver" url="jdbc:ksql:oracle.jdbc.driver.OracleDriver:dbtype=oracle9:jdbc:oracle:thin:@//172.16.5.1:1521/hr" min-spare-connections="10" max-spare-connections="50" idle-timeout="60">
<property name="user" value="hr" />
<property name="password" value="hr" />
<remote-acl>
<user>admin</user>
</remote-acl>
</datasource>
<datasource name="01_Query" jndi-name="jdbc/01_Query" driver-class="com.kingdee.bos.sql.shell.Driver" url="jdbc:ksql:oracle.jdbc.driver.OracleDriver:dbtype=oracle9:jdbc:oracle:thin:@//172.16.5.1:1521/hr" min-spare-connections="10" max-spare-connections="50" idle-timeout="60">
<property name="user" value="hr" />
<property name="password" value="hr" />
<remote-acl>
<user>admin</user>
</remote-acl>
</datasource>
</datasources>
修改了这个还没完,请打开方案目录下的BIMProject.xml文件,将如下:
<attribute key="databasePort" value="1521:hr" />
改为:
<attribute key="databasePort" value="1521" />
保存,重启bim即可。
这个可能是后来发的BOS或EAS的补丁引发的新问题,BIM应该解决。