我需要使用安装在 WebLogic 应用服务器 10.3.6 上的 ASI 连接到 Granite 数据库。编程语言是Java:
public void connect() throws Exception {
if (prop != null) {
ConnectionFactoryASI.setProtocol(prop);
ConnectionFactoryASI.setDataObjectFactoryType(prop);
serviceFactory = ConnectionFactoryASI.getServiceFactory(prop);
} else {
serviceFactory = ConnectionFactoryASI.getServiceFactory(user);
}
dataObjectFactory = serviceFactory.getDataObjectFactory();
setUser(serviceFactory.getClientSession().getLoginName());
logger.debug("ASI HostName: " + serviceFactory.getClientSession().getHostName()
+ ", DatabaseName: " + serviceFactory.getClientSession().getDatabaseName()
+ ", DbHostName: " + serviceFactory.getClientSession().getDbHostName());
}
它没有连接并给我一个连接错误。
ASI 需要一个连接ticketName,没有它你不能打开一个连接。
这是正确的代码,我添加了上面写的参数:
public void connect(String ticketName) throws Exception {
if (prop != null) {
ConnectionFactoryASI.setProtocol(prop);
ConnectionFactoryASI.setDataObjectFactoryType(prop);
serviceFactory = ConnectionFactoryASI.getServiceFactory(prop, ticketName);
} else {
serviceFactory = ConnectionFactoryASI.getServiceFactory(ticketName, user);
}
dataObjectFactory = serviceFactory.getDataObjectFactory();
setUser(serviceFactory.getClientSession().getLoginName());
logger.debug("ASI HostName: " + serviceFactory.getClientSession().getHostName()
+ ", DatabaseName: " + serviceFactory.getClientSession().getDatabaseName()
+ ", DbHostName: " + serviceFactory.getClientSession().getDbHostName());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句