Java + SQL Server - жизнеспособное решение? - PullRequest
10 голосов
/ 09 августа 2008

Я собираюсь начать новый проект - переписать существующую систему (PHP + SQL Server) с нуля из-за некоторых очень серьезных ограничений по дизайну.

Мы достаточно хорошо знаем SQL Server (в настоящее время мы используем SQL Server 2000 в существующей системе), и мы хотели бы использовать его более новую версию (я думаю, 2008) в нашем новом проекте.

Мне действительно нравятся технологии, которые предлагает Java, в частности Spring Framework и Wicket, и я довольно хорошо знаком с Java из других проектов и заданий ранее. Поэтому мы рассмотрим использование Java и Microsoft SQL Server.

Есть два драйвера JDBC для SQL Server - jTDS и один от Microsoft - http://msdn.microsoft.com/en-us/data/aa937724.aspx. Я думаю, что мы должны протестировать их оба.

Есть ли какие-либо ограничения в таком решении, о которых я должен знать? Кто-нибудь сталкивался с такой технологической комбинацией?

Ответы [ 6 ]

8 голосов
/ 10 августа 2008

Я работал над проектом, использующим MSQL Server в сочетании со стеком Java. Это работает очень хорошо и долго, так как JDBC не должен заботиться о вашей базе данных. Мы использовали ehcache вместе с Hibernate и у нас были проблемы с драйвером MS JDBC, поэтому мы перешли на jtds, и он работает очень хорошо.

Это было довольно давно, так что вы все еще можете дать шанс водителю MS ...

1 голос
/ 17 сентября 2008

Я бы склонялся к драйверу jTDS. Драйвер MSSQL имеет ограничение, при котором вы не можете перечитывать один и тот же столбец дважды. Это часто случается при использовании Hibernate.

1 голос
/ 13 августа 2008

jTDS отлично. Я использую его годами без проблем в производственных средах высокой доступности.

1 голос
/ 13 августа 2008

Мы уже несколько лет запускаем приложение, использующее Hibernate для связи с несколькими удаленными экземплярами MSQL Server, и мы также переключились на драйвер jTDS на ранних этапах после нескольких проблем с драйвером M $. С момента переключения у нас не было никаких проблем. Тем не менее, это не сложное приложение, поэтому оно не использует никаких больших объектов. Надеюсь, это поможет.

1 голос
/ 09 августа 2008

Я не знаю о Java и 2008 ... но у вас не должно быть особых проблем с Java и SQL2000. Как и предложил lubos, вы бы сделали себе одолжение, чтобы взглянуть на c #, но если вам гораздо удобнее работать с Java, то не должно быть никаких реальных ограничений, так как разъем JDBC поддерживается Microsoft

0 голосов
/ 29 июля 2016

Драйвер JDBC хорошо работает с SQL Server 2008, у меня не было никаких проблем с ним. Версия, которую вам нужно скачать, зависит от версии JRE, которую вы установили. JRE6 использует JDBC4, JRE7 использует JDBC4.1 и т. Д. Как только вы загрузите правильный драйвер от Microsoft и запустите установщик, вам нужно будет скопировать sqljdbc_auth.dll из каталога \ auth в каталог c: \ windows \ system32 . Затем можете использовать этот код для установления соединения:

В вашем заголовке:

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));
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...