开发者社区 问答 正文

Java 连接 RDS For SQL Server

System.out.println("successfully");需要 jdk1.7 以及以上版本,参考微软官方要求并下载jar包:【 点此下载
使用 sqljdbc42.jar 导入到项目工程代码片段: String userName = "user";  //默认用户名  
String userPwd = "pass321";   //密码  
String url="jdbc:sqlserver://rds.sqlserver.rds.aliyuncs.com:3433;DatabaseName=dbtest";  
java.sql.Connection  dbConn = DriverManager.getConnection(url, userName, userPwd);  
Object sta = dbConn.createStatement();  
String sql = "create table student"+ "     (id int , name varchar(10))";          
int row = ((Statement) sta).executeUpdate(sql);


展开
收起
云栖大讲堂 2017-11-03 16:27:41 3050 分享 版权
阿里云 AI 助理回答

您好!看起来您正在尝试使用Java连接到阿里云RDS SQL Server数据库并执行SQL语句创建表。这里有几个点需要注意和澄清:

  1. JDK版本: 您提到的System.out.println("successfully");是Java代码的基本输出语句,确实需要JDK 1.7或更高版本来运行。但直接关联到SQL Server JDBC驱动的版本需求,实际上JDBC驱动的版本与JDK版本并不直接挂钩,而是与您的SQL Server版本兼容性有关。不过,确保开发环境使用较新版本的JDK是个好习惯。

  2. 下载jar包: 您提供的链接被简化为【点此下载】,实际操作中,您应该访问微软官方页面或者Maven仓库来获取适合您SQL Server版本的JDBC驱动。对于SQL Server,常用的驱动包名有sqljdbc4.jar(适用于JDK 6及7,SQL Server 2008及以后),sqljdbc41.jar(针对JDK 7,SQL Server 2012及以后),以及您提到的sqljdbc42.jar(针对JDK 8及以上,SQL Server 2012及以后)。请根据实际情况选择合适的版本。

  3. 导入jar包: 在Eclipse、IntelliJ IDEA等IDE中,通常通过项目构建路径(Build Path)管理来添加外部jar包。如果是Maven项目,则在pom.xml文件中添加相应的依赖。

  4. 连接字符串: 您给出的连接字符串示例格式基本正确,但请注意检查以下几点:

    • 确保rds.sqlserver.rds.aliyuncs.com:3433中的域名和端口号与您的RDS实例实际信息一致。
    • DatabaseName=dbtest中的dbtest应替换为您的实际数据库名称。
    • 用户名和密码是否正确填写,您给出的是示例值。
  5. 代码片段注意事项:

    • 创建Statement对象时,建议使用try-with-resources语句自动管理资源,避免资源泄露。
    • SQL语句字符串中,create table student与后半部分之间缺少一个空格。
    • 执行SQL更新操作后,最好检查executeUpdate()返回值以确认操作成功。

修正后的代码示例如下:

String userName = "your_username";
String userPwd = "your_password";
String url = "jdbc:sqlserver://your_rds_endpoint:port;DatabaseName=your_db_name";

try (Connection dbConn = DriverManager.getConnection(url, userName, userPwd);
     Statement sta = dbConn.createStatement()) {

    String sql = "CREATE TABLE student " +
                 "(id INT, name VARCHAR(10))";
    int row = sta.executeUpdate(sql);

    if (row > 0) {
        System.out.println("Table created successfully");
    } else {
        System.out.println("Failed to create table");
    }
} catch (SQLException e) {
    e.printStackTrace();
}

请将your_usernameyour_passwordyour_rds_endpointportyour_db_name替换为实际的值。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答