Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用JDBC在远程计算机上创建SQLServer2005数据库?_Java_Sql Server 2005_Jdbc - Fatal编程技术网

Java 如何使用JDBC在远程计算机上创建SQLServer2005数据库?

Java 如何使用JDBC在远程计算机上创建SQLServer2005数据库?,java,sql-server-2005,jdbc,Java,Sql Server 2005,Jdbc,我正在创建一个桌面应用程序,在该应用程序中,我必须在远程计算机上登录SQL Server 2005,并且必须创建一个数据库、用户等。通过使用jTDS,我能够创建到数据库的连接,并且能够执行“选择”命令,但不能执行诸如-create database、create User等数据库命令 以下是我的测试代码: public class Test { // JDBC driver name and database URL static final String JDBC_DRIVER = "

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

以下是我的测试代码:

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

如果您需要通过JDBC创建数据库,那么您将需要一个具有连接到该服务器上的主数据库权限的用户。创建到主数据库的java.sql.Connection对象,然后只需创建语句并执行sql: “创建数据库MyDB”


我对这个问题有点困惑,因此如果我误解了,我很抱歉。

只要您使用的登录名具有适当的权限,您就应该能够以相同的方式执行此操作,例如使用语句的exeute()方法。请粘贴您用来执行的代码和您收到的错误。感谢您的关注。我得到的错误是“java.sql.SQLException:在数据库“master”中创建数据库的权限被拒绝”。@vermap:那么Johnny是对的。您用于连接数据库的帐户没有创建新数据库的权限。