我的要求是检查我们是否可以连接到没有通过java程序定义的模式的数据库并创建数据库。 这很好用
Connection connection =
DriverManager.getConnection("jdbc:db2://wcspocca-db.cloudapp.net:50001/","vmadmin","password@123;");
数据库:db2 schema:db2inst1
但
com.ibm.db2.jcc.am.mo: [jcc][10165][10045][4.7.85] Invalid database URL syntax: jdbc:db2://wcspocca-db.cloudapp.net:50001/. ERRORCODE=-4461, SQLSTATE=42815
失败 为什么?
{{1}}
答案 0 :(得分:0)
因为在第二个示例中未指定数据库。您可以在DB2 JDBC documentation:
中找到要求>>-+-jdbc:db2:------+--//--server--+---------+--/--database----->
+-jdbc:db2j:net:-+ '-:--port-'
'-jdbc:ids:------'
>--+---------------------------+-------------------------------\><
'-:--| connection-options |-'
数据库参数不是可选的。
答案 1 :(得分:0)
我通常如何使用jave连接到数据库如下所示:将其展开以允许您阅读下面的文本
//Wide Scope Variables
static Connection conn = null; //right now this connection is off
static String dbURL = "database url"; //I use SQL developer and your able to grab the connection url there
static String user = "This can be empty and ask user for input of hard code the user name";
static String pass = "same as above";
在你想检查驱动程序和连接的方法中,我通常会这样做
//Register the Driver
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
//Set up connection
try
{
conn = DriverManager.getConnection(dbURL,user,password);
conn.clearWarnings();
stmt = conn.createStatement();
}
catch(SQLException e)
{
System.err.println(e.getMessage());
}
第一个 try catch 代码将驱动程序注册到SQL开发人员,然后第二个 try catch 设置与数据库的连接。这有助于为我节省很多头痛,并且在使用java时我发现它是最直接的路径。
答案 2 :(得分:0)
DriverManager.getConnection("jdbc:db2://wcspocca-db.cloudapp.net:50001/!!DBNAME!!","vmadmin","password@123;");
答案 3 :(得分:0)
在端口号后仔细检查URL,如果没有放入要连接的数据库名称,那么它将如何连接。就像你给出一个家庭住址而不是地图编号。