代码之家  ›  专栏  ›  技术社区  ›  martinsb

Java+SQL Server—一个可行的解决方案?

  •  10
  • martinsb  · 技术社区  · 18 年前

    我将开始一个新的项目——重新编写一个现有的系统(PHP+SQL Server),因为设计上存在一些非常严重的限制。

    我们对SQL Server有很好的了解(目前我们在现有系统中使用SQL Server 2000),我们希望在我们的新项目中使用它的更新版本(我想是2008年)。

    我真的很喜欢Java提供的技术,尤其是Spring框架和Wicket,我以前在其他项目和任务中对Java非常熟悉。 因此,我们考虑使用java和微软SQL Server。

    SQL Server有两个JDBC驱动程序—jTDS和Microsoft的一个- http://msdn.microsoft.com/en-us/data/aa937724.aspx . 我认为我们应该对他们两个都进行测试。

    6 回复  |  直到 15 年前
        1
  •  8
  •   dlinsin JaviAlgaba    18 年前

    我曾在一个项目中使用MSQL服务器和Java堆栈。它工作得很好,而且时间也很长,因为JDBC不应该真正关心您的数据库。我们将ehcache与Hibernate一起使用,但是MS-JDBC驱动程序有问题,所以我们切换到jtds,它工作得非常好。

    这是很久以前的事了,所以你可能还是想给微软的司机一个机会。。。

        2
  •  1
  •   lomaxx    18 年前

    我不知道Java和2008。。。但是使用Java和SQL2000应该不会有太多问题。正如lubos所建议的那样,您最好看看c#,但是如果您更熟悉Java,那么JDBC连接器就不应该有任何实际的限制 is supported by Microsoft

        3
  •  1
  •   TiGz    17 年前

    几年来,我们一直在运行一个使用Hibernate与多个远程MSQL服务器实例对话的应用程序,在M$驱动程序出现一些问题之后,我们也很早就切换到了jTDS驱动程序。自从切换以来,我们根本没有遇到任何问题。然而,它不是一个复杂的应用程序,所以它不使用任何LOB。希望有帮助。

        4
  •  1
  •   Olly    17 年前

    jTDS非常优秀。我已经在高可用性生产环境中使用了多年,没有出现任何问题。

        5
  •  1
  •   Mike Pone    17 年前

    我会向jTDS司机倾斜。MSSQL驱动程序有一个限制,即不能重复读取同一列两次。这在使用Hibernate时经常发生。

        6
  •  0
  •   Jay    10 年前

    \认证 目录到 目录然后可以使用此代码建立连接:

    在标题中:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    

    public class connectToSQL {
    
        public void connectToDB() throws Exception {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String connectionUrl = "jdbc:sqlserver://<IPADDRESS>:<PORT>;DatabaseName=<NAME OF DATABASE TO CONNECT TO>;IntegratedSecurity=false";    
            Connection con = DriverManager.getConnection(connectionUrl, "<SQL SERVER USER LOGIN>", "<SQL SERVER PASSWORD>");
            Statement s = con.createStatement();
            ResultSet r = s.executeQuery("SELECT * FROM <TABLENAME TO SELECT FROM>");
            while (r.next()) {
                System.out.println(r.getString(1));
            }
        }
    }