public synchronized OServerAdmin copyDatabase ( final String iDatabaseName , final String iDatabaseUserName , final String iDatabaseUserPassword , final String iRemoteName , final String iRemoteEngine ) throws IOException { storage . checkConnection ( ) ; try { final OChannelBinaryClient network = storage . beginRequest ( OChannelBinaryProtocol . REQUEST_DB_COPY ) ; try { network . writeString ( iDatabaseName ) ; network . writeString ( iDatabaseUserName ) ; network . writeString ( iDatabaseUserPassword ) ; network . writeString ( iRemoteName ) ; network . writeString ( iRemoteEngine ) ; } finally { storage . endRequest ( network ) ; } storage . getResponse ( network ) ; OLogManager . instance ( ) . debug ( this , "Database '%s' has been copied to the server '%s'" , iDatabaseName , iRemoteName ) ; } catch ( Exception e ) { OLogManager . instance ( ) . exception ( "Cannot copy the database: " + iDatabaseName , e , OStorageException . class ) ; } return this ; }
Copies a database to a remote server instance .