繁体   English   中英

Java JDBC-> SQL Server

[英]Java JDBC -> SQL Server

我正在尝试让Java应用程序与Microsoft SQL Server数据库对话。

  • 我从Microsoft网站下载了sqljdbc_4.0.2206.100_enu.tar.gz,因为它不在正常的Maven风格的Java库存储库中。
  • 我手动安装在本地Maven存储库中。
  • 我使用以下超级简单的测试代码:
  • 我可以使用基于Java的SQL查询工具SQLWorkbenchJ来访问数据库,并获得对这些SQL命令的正常即时响应。
  • 该服务器是Windows 7上的SQL Server 2005。
  • 客户端是Java7。我也尝试过Java 8,没有任何区别。

      public static void superSimpleJdbcTest(String jdbcUrl, String user, String password) throws SQLException { try (Connection dbConnection = DriverManager.getConnection(jdbcUrl, user, password)) { System.out.println("opened connection"); try (Statement statement = dbConnection.createStatement()) { System.out.println("created statement"); System.out.println("executing create table command..."); statement.execute("create table something (id int primary key, name varchar(100))"); System.out.println("completed create table command"); System.out.println("executing insert command..."); statement.executeUpdate("insert into something (id, name) values (1, 'Brian')"); System.out.println("insert command completed"); } } } 

它偶尔会起作用,但通常会挂在create table命令上。 如果我将其注释掉,它将挂在insert命令上。 我无法想象出什么问题了。

当SQLWorkbenchJ应用程序运行时,我的简单Java测试应用程序将打开连接,并永久挂在任何SQL命令上,而不会出现任何错误。

退出SQLWorkbenchJ应用程序后,我的简单Java测试应用程序就按预期运行了。 那真的很奇怪,我最终迷失了答案。

我转而使用RazorSQL作为SQL控制台,这似乎没有任何问题。

我已经成功使用了JTDS驱动程序和Microsoft驱动程序(JDBC4)。 我没有尝试过SQLWorkbenchJ ,因为我主要使用SQuirreL来测试驱动程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM