2013-11-21 5 views
0

В настоящее время я использую Mssql2000. Как я могу создать резервную копию этой базы данных с помощью java-приложения? Является ли это возможным?Как создать резервную копию базы данных mssql с помощью java?

+0

почему ты сделал это? –

+1

он просто хочет запустить резервную копию команды из java-программы, а не консоли DB, правильно? –

ответ

1

Просто используйте JDBC для запуска сценария базы данных резервного копирования такой ...

BACKUP DATABASE 'databaseOfNames' TO DISK = 'c:\myFile' 

Так что вы могли бы сделать что-то вроде ...

try (
     // Step 1: Allocate a database "Connection" object 
     Connection conn = DriverManager.getConnection(
       "jdbc:mysql://localhost:8888/ebookshop", "myuser", "password"); // MySQL 

     // Step 2: Allocate a "Statement" object in the Connection 
     Statement stmt = conn.createStatement(); 
    ) { 
     String strSelect = "BACKUP DATABASE 'databaseOfNames' TO DISK = 'c:\myFile' "; 
     ResultSet rset = stmt.execute(strSelect); 
     } 

Следует отметить, это использует новый JDK7 try-with-resources, поэтому он автоматически закроет ресурсы.

+0

Где упоминать dbUserName и passWord? – Chivi

+0

В строке подключения jdbc я отредактирую ответ. – david99world

+0

может у вас рассказать, как сделать резервную копию базы данных оракула? – Chivi

0

Используйте приведенный ниже код, только если вы используете DB в локальной сети.

public boolean backupDB(String dbName, String path) { 
    String executeCmd = "BACKUP DATABASE '"+ dbName +"' TO DISK = '"+ path +"' "; 
    Process runtimeProcess; 
    try { 

     runtimeProcess = Runtime.getRuntime().exec(executeCmd); 
     int processComplete = runtimeProcess.waitFor(); 

     if (processComplete == 0) { 
      System.out.println("Backup created successfully"); 
      return true; 
     } else { 
      System.out.println("Could not create the backup"); 
     } 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 

    return false; 
} 

Более подробную информацию о SQL резервного копирования см это URL

Смежные вопросы