2017-04-08 50 views
-3

我的CMD命令是創建一個數據巴塞枝條SQLITE3 它的工作,CMD,但與Java它不是 我的JAVA代碼:執行用java一個cmd命令來創建數據巴塞

Runtime.getRuntime().exec("cd /"); 
Runtime.getRuntime().exec("cd C:\Users..."); 
Runtime.getRuntime().exec("Sqlite3"); 
Runtime.getRuntime().exec("Sqlite3 DB.db"); 
+1

你試圖運行從Java在cmd ..或者是它只是在Java訪問SQL? –

+1

在子流程中執行'cd'是無用的,因爲它的作用對於子流程是本地的,當它結束時你仍然處於原始工作目錄。 – Henry

+0

是的,我試圖從java運行cmd – HichemJAVA

回答

0

你做錯了。您不需要使用Runtime.exec運行獨立的sqlite應用程序。按照以下方式更好地使用庫。

當你連接到一個不存在的SQLite數據庫時,SQLite會自動創建一個新的數據庫。因此,要創建一個新的數據庫,您只需指定數據庫名稱並連接到該數據庫。

以下程序在文件夾c:\ sqlite \ db中創建一個名爲test.db的新SQLite數據庫。

package net.sqlitetutorial; 

import java.sql.Connection; 
import java.sql.DatabaseMetaData; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

/** 
* 
* @author sqlitetutorial.net 
*/ 
public class Main { 

    /** 
    * Connect to a sample database 
    * 
    * @param fileName the database file name 
    */ 
    public static void createNewDatabase(String fileName) { 

     String url = "jdbc:sqlite:C:/sqlite/db/" + fileName; 

     try (Connection conn = DriverManager.getConnection(url)) { 
      if (conn != null) { 
       DatabaseMetaData meta = conn.getMetaData(); 
       System.out.println("The driver name is " + meta.getDriverName()); 
       System.out.println("A new database has been created."); 
      } 

     } catch (SQLException e) { 
      System.out.println(e.getMessage()); 
     } 
    } 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) throws ClassNotFoundException { 

     // You will probably need to uncomment the following "class.forName" 
     // and copy dependency configuration to your pom.xml 
     // if you stumble upon "No suitable driver found" error. 
     /* 
     <dependency> 
     <groupId>org.xerial</groupId> 
     <artifactId>sqlite-jdbc</artifactId> 
     <version>3.7.2</version> 
     </dependency> 
     */ 
     //Class.forName("org.sqlite.JDBC"); 
     createNewDatabase("test.db"); 
    } 

} 

來源:http://www.sqlitetutorial.net/sqlite-java/create-database/

+0

,但是當我這樣做,並安裝在分區C:\它的應用程序不工作!所以請嘗試使用cmd命令 – HichemJAVA

+0

這樣做它不起作用的確切原因是什麼? Java應用程序拋出任何異常?不正確的路徑,沒有創建或寫入文件的權限? –

+0

這是說我沒有訪問權限,但是當我安裝在分區D:\它的工作 – HichemJAVA