如何在Java中将Oracle连接字符串保存到变量

如何在Java中将Oracle连接字符串保存到变量,java,oracle,database-connection,connection-string,Java,Oracle,Database Connection,Connection String,我可以在DriverManager.getConnection参数中使用变量使其成为动态的吗 String connstring = null; Connection conn = null; try { conn = DriverManager.getConnection ("jdbc:oracle:thin:@hostname:port:sid","uname","pword

我可以在DriverManager.getConnection参数中使用变量使其成为动态的吗

    String connstring = null;       
    Connection conn = null;
    try {
        conn = DriverManager.getConnection                 
               ("jdbc:oracle:thin:@hostname:port:sid","uname","pword");                             
               //(connstring);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
但是,当我尝试将连接字符串封装到一个变量时,如下面的代码所示。我得到一个“调用中的无效参数”

我打印出了变量,它与第一种方法的引号和所有内容完全相同

我还尝试了一种不同的方法,如下面的方法。这次我得到一个“指定的Oracle URL无效”

我已经研究了10g的oracle url,它似乎是有序的。下面是我如何初始化dbaseurl变量的。目标不是硬编码连接属性。请帮忙。谢谢


“jdbc:oracle:thin@hostname:port“

您似乎用以前的代码创建了一个字符串,包括
字符。

可能只需要一些提示。但这很有效。我将每个参数保存到了一个变量中,而不是一个字符串

    String dburl = "jdbc:oracle:thin:" + host + ":" + port + ":" + sid;
    System.out.println(dburl);

    Connection conn = null;
    try {
        conn = DriverManager.getConnection
               //("\"jdbc:oracle:thin:\"" + host + ":" + port + ":" + sid + "\"" + ",\"" + uname + "\"," + "\"" + pword + "\"");

                (dburl,uname,pword);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

好的。基于此,将连接字符串放在变量中,然后从get连接调用它是不可行的。但是,我也尝试了这种方法,但仍然无法工作conn=DriverManager.getConnection(“\”jdbc:oracle:thin:\”+host+“:“+port+”:“+sid+”\”+“+”,“+uname+”,“+“+”\”+“\”+“\”+pword+”);如果将这些值设置为a、b、c…,则该字符串的值为:
“jdbc:oracle:thin:“a:b:c”、“d”、“e”
。即,它包含
字符。这些不应该在您的连接字符串中。
    Connection con = null;

    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        con = DriverManager.getConnection(dbaseurl, dbaseuser, dbasepwrd);
        //con.setAutoCommit(false);
    } catch (ClassNotFoundException e) {
        System.out.println("Oracle JDBC Driver Missing");
        e.printStackTrace();
        return null;
    } catch (SQLException e) {
        System.out.println("Connection could not be obtained.");
        e.printStackTrace();
        return null;
    }
    String dburl = "jdbc:oracle:thin:" + host + ":" + port + ":" + sid;
    System.out.println(dburl);

    Connection conn = null;
    try {
        conn = DriverManager.getConnection
               //("\"jdbc:oracle:thin:\"" + host + ":" + port + ":" + sid + "\"" + ",\"" + uname + "\"," + "\"" + pword + "\"");

                (dburl,uname,pword);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }