当前位置: 首页 > 知识库问答 >
问题:

Netbeans-Oracle DB-AWS“amazon RDB”-java 8

呼延曜灿
2023-03-14

我想将我的java文件连接到amazon oracle数据库。

public class DataSource {

private static String dbName = System.getenv("PUBLIC");
private static String userName = System.getenv("root");
private static String password = System.getenv("3deemala7sas");
private static String hostname = System.getenv("oracleinstance.ctnrs4kazdmm.ap-south-1.rds.amazonaws.com");
private static String port = System.getenv("1521");

public static final String JDBC_DRIVER = "oracle.jdbc.OracleDriver";
public static final String DB_URL = "jdbc:oracle:thin://" + hostname + ":" + port + "/" + dbName + "?user=" + userName + "&password=" + password;

public static boolean checkDomain()
{
    if (System.getenv("oracleinstance.ctnrs4kazdmm.ap-south-1.rds.amazonaws.com") != null) {
        return true;
    }
    return false;
}
public static Connection getConnection( )
{


    try {
        Class.forName(DataSource.JDBC_DRIVER);
         connection = DriverManager.getConnection(DataSource.DB_URL);
        //connection = (Connection) DriverManager.getConnection(DataSource.DB_URL);

        System.out.println("Connected ....");

        return connection;
    }
     catch (SQLException ex) {
        System.out.println("Error syntax");
         System.out.println(ex.toString());
         ex.printStackTrace();
    }catch (ClassNotFoundException ex) {
        System.out.println("Class not found error ...");
    }


    return null;
}
public class App01 {



public static void main(String[] args) throws SQLException {
    Connection connection = null ;
    System.out.println(DataSource.checkDomain());
   connection =  DbConnection.getConnection();

}}

JAVAsql。SQLRecoverableException:IO错误:网络适配器无法建立连接

注意:我已经使用dbvisualizer成功连接,还尝试使用neatbeas数据库服务,但它也没有连接

Netbeans错误:无法建立到jdbc:oracle:thin:@oracleinstance的连接。ctnrs4kazdmm。ap-south-1。rds。亚马逊。com:1521:XE使用oracle。jdbc。OracleDriver(侦听器拒绝连接,出现以下错误:ORA-12505,TNS:侦听器当前不知道连接描述符中给出的SID)

共有2个答案

闾丘朗
2023-03-14

根据您的错误消息ORA-12505,TNS:listener目前不知道connect descriptor中给出的SID,我认为您的连接字符串中有一个错误。具体来说,您可能使用了错误的SID。

oracleinstance。ctnrs4kazdmm。ap-south-1。rds。亚马逊。com:1521:XE

尝试以下连接字符串,oracleinstance。ctnrs4kazdmm。ap-south-1。rds。亚马逊。com:1521:orcl。通常,在RDS中创建Oracle实例时,默认SID为orcl

您还可以使用AWS CLI来确定SID。

$ aws rds describe-db-instances
{
"DBInstances": [
...
  {
        "DBInstanceStatus": "available",
        "DBInstanceIdentifier": "MYORACLEDB",
        "MasterUsername": "USERWITHSYSDBA",
        "EngineVersion": "11.2.0.4.v1",
        ...
        "Endpoint": {
            "Port": 1521,
            "Address": "MYORACLEDB.blahblahblach.us-west-2.rds.amazonaws.c                                                                                                                                                         om"
        },
        "PendingModifiedValues": {},
        ...
        "DBName": "ORCL",
        ...

其中DBName是SID(在本例中为ORCL)。

穆鸿卓
2023-03-14

谢谢你回答我的问题。

我已经弄清楚了。错误在于您提到的连接db的URL。所以,发现的是url应该是这样的:-

Connection con = DriverManager.getConnection("jdbc:oracle:thin:@"+hostname+":1521:orcl", "username", "password");

ORCL是AWS(亚马逊云)的defualt db名称

谢谢

 类似资料:
  • node-oracledb 是甲骨文公司官方发布的 Oracle 的 Node.js 驱动。目前最新版本 0.2 还是个预览版本,开发团队还在不断完善,包括对 Windows 平台的支持、LOB 支持、批获取/大查询结果集的流处理以及 DRCP 支持等。 支持 Oracle 的基本和高级特性: SQL 和 PL/SQL 执行 使用 javascript 对象和数组进行绑定 查询结果返回到 Java

  • 我想通过节点JS连接oracle db。为此,我尝试安装node-oracledb模块。 npm错误!此运行的完整日志可以在以下位置找到:npm err! C:\users\appdata\roaming\npm-cache_logs\2019-04-09t06_36_44_005z-debug.log 我不明白为什么需要python依赖关系才能与oracle DB连接?又该怎么做呢?

  • NetBeans 6.7和更新版本内置了对Maven的支持。 如果是以前的版本,Maven插件可以在插件管理器中使用。 我们在此示例中使用NetBeans 6.9。 NetBeans的一些功能如下所示 - 您可以从NetBeans运行Maven目标。 您可以使用自己的控制台查看NetBeans中Maven命令的输出。 您可以使用IDE更新maven依赖项。 您可以从NetBeans中启动Maven

  • C:\Users\ramachandran.s oracledb@1.2.0安装C:\Users\ramachandran.s\node\u modules\oracledb node gyp rebuild C:\Users\ramachandran.s\node\u modules\oracledb 我错过了什么,请帮忙

  • 我已经通过“npm I oracledb”安装了“oracledb”包,在我的项目中需要它,我正在尝试从index.js文件获取到它的连接。我遇到了NJS-045错误: 错误:NJS-045:无法加载Node.js 8.0.0(win32,x64)的oracledb加载项二进制文件无法加载C:\Users\ZXR2737\Documents\EDQ.IECB.AnalysisAPI\node\u

  • 使用OracleDB时出错,错误为“找不到指定的过程”。节点安装OracleDB正常。为构建而执行的步骤如下 已安装Visual Studio 2017 Visual C 14.0 使用/app.js内容运行代码时出错 使用strongloop/loopback CLI时出现相同错误。任何指示都会有帮助