我的要求是检查我们是否可以通过java程序连接到没有定义模式的数据库并创建数据库。 这很好用
Connection connection =
DriverManager.getConnection("jdbc:db2://wcspocca-db.cloudapp.net:50001/db2inst1","vmadmin","password@123;");
数据库:db2 架构:db2inst1
但是
Connection connection =
DriverManager.getConnection("jdbc:db2://wcspocca-db.cloudapp.net:50001/","vmadmin","password@123;");
失败 为什么?
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
DriverManager.getConnection("jdbc:db2://wcspocca-db.cloudapp.net:50001/!!DBNAME!!","vmadmin","password@123;");
我通常如何使用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 时最直接的途径。
因为在第二个示例中没有指定数据库。您可以在 DB2 JDBC 文档中找到要求:
>>-+-jdbc:db2:------+--//--server--+---------+--/--database----->
+-jdbc:db2j:net:-+ '-:--port-'
'-jdbc:ids:------'
>--+---------------------------+-------------------------------\><
'-:--| connection-options |-'
数据库参数不是可选的。
仔细检查网址,端口号后面如果没有输入要连接的数据库名称,那么它将如何连接。就像您提供家庭住址但没有地块号码一样。