2017-08-24 14 views
0

新しいソフトウェアに移行するLotus Notes/Domino(バージョン7)データベースがたくさんあります。 私のワークステーション(Lotus Notesがインストールされている)で、スタンドアロンのJavaアプリケーションを使用してローカルレプリカにデータを抽出しています。 しかし、遠隔データベースの複製は依然として手作業です。私はそれを自動化したいと思います。私のJavaコードは、基本的にはこのようになりますリモートデータベースのLotus Notes Javaレプリケーション

:最後の行が(memroyから、何かのように)例外をスローしかし

Session localSession = NotesFactory.createSession(); // With Notes thread initialized 
Session remoteSession = NotesFactory.createSession(SERVER, USER, PASSWORD); 

Database localDb = localSession.getDbDirectory(null).openDatabase("local_name", true); 
Database remoteDb = remoteSession.getDbDirectory(null).openDatabaseByReplicaID(REPLICA); 

// ***EDITED CALLING INSTANCE BELOW*** 
remoteDb.createReplica(null, "local_name"); // Error thrown here 

それは私がドンいる可能性がありどのように
CN=****/***** does not have the right to create database on a server 

ローカルコンピュータにデータベースを作成する権利はありますか?

遠隔データベースからプログラムでローカルレプリカを作成する方法はありますか?

編集:変更問題

答えて

0

私は答えを見つけたようです。

AFAIUローカルセッションを使用してターゲットサーバーでデータベースを開き、ここからcreateReplica()を実行する必要がありました。この方法で、createReplicaはローカルのLotus Notesサーバー上で実行され、レプリカはローカルで作成されます。

Session  localSession  = NotesFactory.createSession((String)null, (String)null, PASSWORD); 
DbDirectory remoteDbDirectory = localSession.getDbDirectory(remoteSession.getServerName());   
Database localSessionRemoteDatabase = remoteDbDirectory.openDatabaseByReplicaID(REMOTE_REPLICA_ID);   
localSessionRemoteDatabase.createReplica("", LOCAL_FILE_NAME); 

@リチャードシュワルツこれはいいですか?

奇妙なことは、プロンプトが開き(パスワードが必要な場合など)、レプリカが作成されていることです。 プロセスはEclipse内で実行されます。

0

私の推測では、それはあなたに間違ったエラーメッセージを与えているということであるの原因私のコードに一致するようにレプリカを作成するインスタンスを呼び出します。確かに間違っていることの1つは、彼がcreateReplicaの最初の引数は空の文字列でなければならないということです。私は、これを試してください:

localDb.createReplica("", "local_name"); 
+0

私の投稿を編集しました。私はリモートデータベース上でレプリカを作成しています。私はこれが問題だと思います。私は混乱している:Javaを使用してゼロからリモートデータベースのローカルレプリカを作成するプロセスは何ですか?ありがとう – Psyko

+0

ああ、少し待ってください... notes.jarの代わりにNCSO.jarを使用していますか?その場合、「ローカル」はありません。 API呼び出しはすべてサーバー上で実行されています。 –

+0

また、改訂されたコードでは、createReplica()の最初の引数としてnullを渡すべきではありません。これは空文字列 ""で、stringへのヌルポインタではありません。 –

関連する問題