2

我正在开发一个动态创建 MSSQLSERVER 2008 数据库的 Web 应用程序。

但它给了我

java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;databaseName=master

我的代码是:

String dbName = "db1";
try {
    String url = "jdbc:sqlserver://localhost:1433;databaseName=master";
    Connection connection = DriverManager.getConnection(
                 url,
                 "sa",
                 "roshan14121987");

    Statement statement = connection.createStatement();
    String sqlquery = "CREATE Database \"" + dbName + "\"; ";
    statement.executeUpdate(sqlquery);
    statement.close();

    connection.close();

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

我在 lib 中添加了 sqljdbc4.jar。我在 NetBeans(使用 GlassFish 和 Tomcat 服务器)和 Eclipse IDE(Tomcat 服务器)上都试过了。

另一方面,我已经尝试过使用简单的桌面应用程序,它在两个 IDE 上都运行良好。在 lib 中添加了 sqljdbc4.jar。

4

3 回答 3

9

在调用之前,DriverManager.getConnection()您必须加载 SQLServer JDBC 驱动程序。您可以Class.forName("xxxx");在 xxxx 是适当的驱动程序类(带有包前缀的完全限定名称)的地方执行操作。

编辑:这样做Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");以加载驱动程序。有关更多信息,请参阅MSDN 链接

于 2013-07-20T08:05:51.167 回答
2

sqljdbc4.jar您的 WEB-INF/lib 下的 war 文件中。这是 $CATALINA_HOME/lib 的备用位置,建议您保持 Web 应用程序自包含。此外,如果您需要更改服务器,您只需将战争放到您的 webapps 目录中。

您可能还需要 Class.forName([database class]).newInstance,但使用 JDBC 4.0驱动程序则不需要。祝你好运,如果您还有其他问题,请发表评论。

于 2013-07-20T08:08:55.043 回答
1

错误发生在Tomcat服务器上的运行时,对吗?我认为您需要确保您的 sqljdbc4.jar 部署在服务器中。

于 2013-07-20T07:55:46.200 回答