如何通过eclipse连接mysql数据库

2024-04-08

我有一个在 eclipse kepler 中运行的应用程序 我的数据库位于AWS RDS MySQL类型上。 我已经导入: mysql-connector-java-gpl-5.1.31-.msi 和 aws-java-sdk-1.8.5.jar

我想通过java代码在我的RDS实例上执行诸如创建新表或插入更新数据等操作,但AWS RDS尚未提供相同的API。所以我一直在尝试以下方法:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.sql.DriverManager;
import com.amazonaws.AmazonClientException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.rds.AmazonRDSClient;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class try_AWS_RDS {

static AmazonRDSClient client;

private static void init() throws Exception {

AWSCredentials credentials = null;
try {
    credentials = new ProfileCredentialsProvider("default").getCredentials();
} catch (Exception e) {
    throw new AmazonClientException(
            "Cannot load the credentials from the credential profiles file.";
}    
client = new AmazonRDSClient(credentials);
Region r = Region.getRegion(myRegion);
client.setRegion(r);    
}
public static void main(String[] args) throws Exception {

    init();

    String s = new String();  
    StringBuffer sb = new StringBuffer(); 

    try
    {
    Class.forName("com.mysql.jdbc.Driver");

    String userName = "myUserName";
    String password = "myPassword";
    String url = "jdbc:mysql://myDataBaseURL";

    Connection c = (Connection) DriverManager.getConnection(url, userName, password);  
    Statement st = (Statement) c.createStatement();  

    FileReader fr = new FileReader(new File("C:/Users/.../src/createTable.sql"));
    BufferedReader br = new BufferedReader(fr);  

    while((s = br.readLine()) != null)  
    {  
        sb.append(s);  
    }  
    br.close();  

    // here is our splitter ! We use ";" as a delimiter for each request  
    // then we are sure to have well formed statements  
    String[] inst = sb.toString().split(";");          

    for(int i = 0; i<inst.length; i++)  
    {  
        // we ensure that there is no spaces before or after the request string  
        // in order to not execute empty statements  
        if(!inst[i].trim().equals(""))  
        {  
            st.executeUpdate(inst[i]);  
            System.out.println(">>"+inst[i]);  
        }  
    } 


} catch (Exception e)
{
    e.printStackTrace();
}
}
}

它向我显示以下错误:

com.mysql.jdbc.JDBC4ResultSet@7baf7d com.mysql.jdbc.JDBC4ResultSet@7baf7d java.io.FileNotFoundException: mySQLFile.sql(系统找不到指定的文件) 在 java.io.FileInputStream.open(本机方法)com.mysql.jdbc.JDBC4ResultSet@7baf7d

at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at try1_S3Sample.main(try1_S3Sample.java:96)

请帮忙。 还建议是否有其他方法可以访问/更新 AWS RDS 中的表


你把一切都搞乱了。无需导入 aws-java-sdk-1.8.5.jar。这是 aws-sdk java jar。 用于连接到具有MySql数据库的RDS实例。您所需要做的就是导入 mysql-connector-java-5.1.18-bin.jar 并拥有在 RDS 中启动的数据库的访问权限和凭据。 获取从您的IP(运行代码的机器)连接数据库的权限 此代码将连接到数据库,您可以根据您的凭据访问执行查询。

public static void main(String[] args) 
{
    try{
        String host = "jdbc:mysql://rds-ip:3306/rds-database-name";
        String uName = "rds-database-username";
        String uPass = "rds-database-pasword";
        Connection con = DriverManager.getConnection( host, uName, uPass );
        Statement stmt = con.createStatement();
        String sql = "SELECT * FROM tablename";
        ResultSet rs = stmt.executeQuery(sql);

        rs.next();
        int id_col = rs.getInt("id");
        String column1 = rs.getString("column1");
        String column2 = rs.getString("column2");
         }
         catch(SQLException err){
        System.out.println(err.getMessage());
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过eclipse连接mysql数据库 的相关文章

随机推荐

  • 在散景中使用 x 轴上的月份

    假设我有以下数据 import random import pandas as pd numbers random sample range 1 50 12 d month range 1 13 values numbers df pd D
  • 如何在 MySQL 的子查询中指定父查询字段?

    如何在 MySQL 的子查询中指定父查询字段 例如 我用 PHP 编写了一个基本的公告板类型程序 在数据库中 每个帖子包含 id PK 和parent id 父帖子的id 如果帖子本身就是父帖子 则其parent id 设置为0 我正在尝试
  • 如何检查值是否插入成功?

    我有一个将值插入表中的过程 declare fName varchar 50 lName varchar 50 check tinyint INSERT INTO myTbl fName lName values fName lName E
  • 无法访问反应表中解析的数据

    我知道这个问题在 StackOverflow 上已经被问过几次了 但我还没有让之前的任何答案对我有用 我正在寻找一个react table组件 并允许用户下载当前呈现为 CSV 的过滤数据 我知道我需要使用react csv稍后 但现在我什
  • 如何在Pycharm中启用结构视图的自动刷新?

    如何在结构视图中强制刷新或在 Pycharm 中启用自动刷新 任何代码更新后 单击功能将不再起作用 应跳转到功能代码 唯一的可能性是隐藏和显示视图 但它失去了上下文 我需要再次搜索函数名称 对于较大的代码来说这是个坏主意 None
  • Angular:使用 query() + animate() 时如何保持最终动画状态

    看看这个笨蛋 https plnkr co edit mqwJP75zjTUmsqsqRxfH p preview https plnkr co edit mqwJP75zjTUmsqsqRxfH p preview 这是 Angular
  • Oracle SQL 中仅排除一个 MIN 值

    我试图选择一列中除最低值之外的所有值 GameScore 但是当有两个最低值时 我的代码会排除这两个值 我知道它为什么这样做 我只是不知道如何纠正它 并包括两个最低值之一 代码看起来像这样 SELECT Id SUM Score COUNT
  • 是否有 IEEE-754 操作的开源 c/c++ 实现? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 IEEE 754 操作的参考实现 有这样的事吗 我相信 C 库软浮点 http www j
  • 按属性按优先级排序

    我有想要排序的项目 我的项目在模型上计算了属性 包括winning bidding closed and watching 这些属性中的每一个都是 true 或 false 我想对项目进行排序 以便所有获胜项目位于第一 然后是所有投标项目
  • 忽略 doxygen 注释块中的行

    是否可以在 doxygen 注释块中包含将被 doxygen 忽略的内容 换句话说 我们可以在 doxygen 评论块中发表评论吗 背景 我们正在将 Fortran 项目的代码内注释转换为 doxygen 可解析的格式 但是该项目要求代码内
  • C 中的可变长度数组并就地初始化[重复]

    这个问题在这里已经有答案了 C99 允许定义具有非常量大小的数组 即用于定义数组的大小可以在运行时更改 解释它的代码片段是 void dummy function1 unsigned int length char arrA length
  • 什么是沼泽图?

    有人告诉我沼泽图 解释说它们可以通过测量给定产品的传入缺陷率和传出修复率来预测代码质量 不幸的是 我无法找到有关这些图表的更多信息 我想知道这是否是特定于一家公司的术语 你能解释一下什么是沼泽图吗 您可以在这篇关于 CESR 的调试和性能特
  • 在Python中获取不带扩展名的文件名

    如果我有一个类似于以下之一的文件名 1 1 1 1 1 jpg 1 1 jpg 1 jpg 我怎样才能只获取文件名 而不获取扩展名 正则表达式合适吗 在大多数情况下 您不应该为此使用正则表达式 os path splitext filena
  • 如何在异步管道上使用自定义管道?

    我正在尝试在异步管道上创建自定义管道 我尝试了很多解决方案 但仍然不起作用 这是代码片段 Product sort ts 自定义管道 import PipeTransform Pipe from angular core import Ob
  • Angular 4 属性在构建时的对象类型上不存在

    我正在使用 Angular 构建一个项目 我使用 angular cli 启动了该项目 当我尝试运行时ng build prod我不断收到此错误 对象类型上不存在属性 描述 生成此错误的代码如下 export class AppCompon
  • 基于 Spring Java 的静态方法配置

    任何人都可以请建议为什么我们需要使用 a 来声明 PropertySourcesPlaceholderConfigurer beanstatic方法 我刚刚发现 如果我在下面使用非静态 那么 url 将被设置为空值 而不是从属性文件中获取
  • 使用 JavaScript 对象文字表示法的 JavaScript 构造函数

    使用对象字面量表示法在 JavaScript 中构建构造函数的最佳方法是什么 var myObject funca function funcb function 我希望能够打电话 var myVar new myObject 并将参数传递
  • 使用 JavaScript 关闭 Youtube 注释

    目前我知道有三种方法可以禁用 YouTube 视频中的注释 您可以使用 YouTube 设置 这对我不起作用 因为我没有 也不想要 帐户 您可以使用专门的扩展 这可能有用 但我不想为此而拥有一个带有大量选项的成熟扩展 您可以使用 广告 拦截
  • PHPUnit ReflectionException 方法套件不存在

    我正在使用 PHPUnit 版本 3 6 2 并且总是得到 PHP ReflectionException 第 113 行 pathTo pear PHPUnit Runner BaseTestRunner php 中不存在方法套件 运行单
  • 如何通过eclipse连接mysql数据库

    我有一个在 eclipse kepler 中运行的应用程序 我的数据库位于AWS RDS MySQL类型上 我已经导入 mysql connector java gpl 5 1 31 msi 和 aws java sdk 1 8 5 jar