2011-05-26 22 views
1

我正在创建一个桌面应用程序,在该应用程序中,我必须登录到远程计算机上的SQL Server 2005,并且必须创建数据库,用户等。通过使用jTDS,我能够创建到数据库的连接以及能够执行“SELECT” commnads,但不能执行命令数据库喜欢 - 创建数据库,创建用户等如何在使用JDBC的远程机器上创建SQL Server2005数据库?

这里是我的测试代码:

public class Test { 

// JDBC driver name and database URL 
    static final String JDBC_DRIVER = "net.sourceforge.jtds.jdbc.Driver"; 
    static final String DB_URL = "jdbc:jtds:sqlserver://10.96.11.31:1433;useNTLMv2=true;domain=myDomain"; 
    public static void main(String[] args) { 
     Connection conn = null; 
     Statement stmt = null; 
     try{ 
      //STEP 2: Register JDBC driver 
      Class.forName(JDBC_DRIVER); 

      //STEP 3: Open a connection 
      System.out.println("Connecting to database..."); 
      conn = DriverManager.getConnection(DB_URL); 

      //STEP 4: Execute a query 
      System.out.println("Creating database..."); 
      stmt = conn.createStatement(); 

      String sql = "CREATE DATABASE STUDENTS"; 
      stmt.executeUpdate(sql); 
      System.out.println("Database created successfully..."); 
     }catch(SQLException se){ 
      //Handle errors for JDBC 
      se.printStackTrace(); 
     }catch(Exception e){ 
      //Handle errors for Class.forName 
      e.printStackTrace(); 
     }finally{ 
      //finally block used to close resources 
      try{ 
      if(stmt!=null) 
       stmt.close(); 
      }catch(SQLException se2){ 
      }// nothing we can do 
      try{ 
      if(conn!=null) 
       conn.close(); 
      }catch(SQLException se){ 
      se.printStackTrace(); 
      }//end finally try 
     }//end try 
     System.out.println("Goodbye!"); 
    }//end main 
    }//end JDBCExample 
+0

只要您使用的登录名具有适当的权限,您应该能够以相同的方式执行此操作,例如使用Statement的exeute()方法。请粘贴您用来执行的代码和您收到的错误。 – Jon 2011-05-26 07:42:14

回答

2

如果需要通过JDBC创建一个数据库,然后您需要有权限的用户连接到该服务器上的主数据库。创建java.sql.Connection对象的数据库,然后简单地创建声明并执行SQL: “CREATE DATABASE MYDB”

我对这个问题有点困惑,所以我很抱歉,如果我误解它。

+0

感谢您的关注。我得到的错误是“java.sql.SQLException:CREATE DATABASE权限在数据库'master'中被拒绝。” – vermap 2011-06-17 04:17:23

+0

@vermap:然后Johnny是对的。您用来连接数据库的帐户没有创建新数据库的权限。 – 2011-06-17 11:18:39

相关问题