数据库
首页 > 数据库> > 数据库无法打开(通过DIIOP的Java程序)

数据库无法打开(通过DIIOP的Java程序)

作者:互联网

我尝试通过Java程序在Domino服务器上打开数据库.
与Domino服务器建立了会话.我使用以下代码来获取/打开数据库.

session = NotesFactory.createSession(DOMINO_SERVER, DOMINO_USER, DOMINO_PW);
if ( session == null ) {
//do something
}
db = session.getDatabase(DOMINO_SERVER, DOMINO_DATABASE);
view = db.getView("someView");

出现以下错误信息:

NotesException:数据库xyz尚未打开

如果我使用“打开”-方法

db.open();

错误

NotesException:数据库open()失败

发生.
用户有权访问数据库.互联网的最大名称和密码:READER.

我可以检查的Domino服务器上是否有任何配置?
似乎是一个安全问题,但我看不出原因.
有什么建议/提示吗?

[更新]
完整的堆栈跟踪…

NotesException: Database XYZ has not been opened yet
at lotus.domino.NotesExceptionHelper.read(Unknown Source)
at lotus.domino.NotesExceptionHolder._read(Unknown Source)
at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
at lotus.domino.corba._IDatabaseStub.getSize(Unknown Source)
at lotus.domino.cso.Database.getSize(Unknown Source)

为了进行测试,我尝试使用“ getSize()”方法获取数据库的大小.

来自其他错误消息的完整堆栈跟踪:

NotesException: Database open failed ()
at lotus.domino.NotesExceptionHelper.read(Unknown Source)
at lotus.domino.NotesExceptionHolder._read(Unknown Source)
at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
at lotus.domino.corba._IDatabaseStub.open(Unknown Source)
at lotus.domino.cso.Database.open(Unknown Source)

[更新2]:
服务器控制台的屏幕截图:

解决方法:

西蒙用上述想法解决了问题.

我尝试了另一种方法来打开数据库.
在这里,我尝试打开数据库的方式.

session = NotesFactory.createSession(DOMINO_SERVER, DOMINO_USER, DOMINO_PW);
if ( session == null ) {
//do something
}
DbDirectory dir = session.getDbDirectory(null);
db = dir.openDatabase(DOMINO_DATABASE);

用户对服务器和数据库的访问权限没有任何变化.
不确定为什么会这样吗?服务器配置是否存在错误或存在问题?

但最重要的是…它现在可以工作…感谢Simon和Richard.

标签:lotus-domino,eclipse,java
来源: https://codeday.me/bug/20191030/1965835.html