繁体   English   中英

Java + SQL 服务器 - 一个可行的解决方案?

[英]Java + SQL Server - a viable solution?

我将开始一个新项目 - 由于一些非常严重的设计限制,从头开始重写现有系统(PHP + SQL 服务器)。

我们对 SQL 服务器(目前我们在现有系统中使用 SQL 服务器 2000)有一些很好的了解,我们想在我们的新项目中使用它的更新版本(我猜是 2008)。

我真的很喜欢 Java 提供的技术 - 特别是 Spring 框架和 Wicket,我对 Java 之前的其他项目和任务非常熟悉。 因此,我们考虑使用 Java 和微软 SQL 服务器。

SQL 服务器有两个 JDBC 驱动程序 - jTDS 和微软的一个 - http://msdn.microsoft.com/en-x/data 我认为我们应该测试他们两个。

我应该知道这种解决方案有什么限制吗? 有人体验过这种技术组合吗?

我已经使用 MSQL Server 和 Java 堆栈一起参与了一个项目。 它工作得很好而且很长,因为 JDBC 不应该真正关心您的数据库。 我们将 ehcache 与 Hibernate 一起使用,并且 MS JDBC 驱动程序出现问题,因此我们切换到 jtds,它工作得非常好。

很久以前了,所以你可能还想给 MS 司机一个机会……

我不知道 Java 和 2008 ......但你不应该对 Java 和 SQL2000 有太多麻烦。 正如 lubos 所建议的那样,您会帮自己一个忙,看看 c# 但如果您对 Java 更满意,那么应该没有任何真正的限制,因为Microsoft 支持Z82269B9B71AB4A7714F69586102 连接器

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

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

jTDS 非常好。 我多年来一直在高可用性生产环境中使用它,没有出现任何问题。

JDBC 驱动程序适用于 SQL Server 2008,我没有遇到任何问题。 您需要下载的版本取决于您安装的 JRE 的版本。 JRE6 使用 JDBC4,JRE7 使用 JDBC4.1 等。从 Microsoft 下载正确的驱动程序并运行安装程序后,您需要将sqljdbc_auth.dll\auth目录复制到c:\2windows\system3目录。 然后可以使用此代码进行连接:

在您的 header 中:

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

在您的 class 中:

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));
        }
    }
}

暂无
暂无

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

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