【问题标题】:How to create SQL server2005 database on remote machine using JDBC?如何使用 JDBC 在远程机器上创建 SQL server2005 数据库?
【发布时间】:2011-05-26 05:06:28
【问题描述】:

我正在创建一个桌面应用程序,我必须在远程计算机上登录到 SQL Server 2005,并且必须创建一个数据库、用户等。通过使用 jTDS,我也能够创建到数据库的连接能够执行“SELECT”命令但不能执行数据库命令,如创建数据库、创建用户等。

这是我的测试代码:

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

【问题讨论】:

  • 只要您使用的登录名具有适当的权限,您就应该能够以相同的方式执行此操作,例如使用语句的 exeute() 方法。请粘贴您用于执行的代码以及您遇到的错误。

标签: java sql-server-2005 jdbc


【解决方案1】:

如果您需要通过 JDBC 创建数据库,那么您需要一个有权连接到该服务器上的 master 数据库的用户。为 master 数据库创建一个 java.sql.Connection 对象,然后简单地创建语句并执行 SQL: "创建数据库 MyDB"

我对这个问题有点困惑,所以如果我误解了它,我深表歉意。

【讨论】:

  • 感谢您的关注。我得到的错误是“java.sql.SQLException:数据库'master'中的CREATE DATABASE权限被拒绝。”
  • @vermap:那么约翰尼是对的。您用于连接数据库的帐户无权创建新数据库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多