Вопрос

Я собираюсь начать новый проект — переписать существующую систему (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.Я думаю, нам следует протестировать их обоих.

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

Драйвер JDBC хорошо работает с SQL Server 2008, у меня с ним не возникло никаких проблем.Версия, которую вам необходимо загрузить, зависит от установленной версии JRE.JRE6 использует JDBC4, JRE7 использует JDBC4.1 и т. д.После того, как вы загрузите правильный драйвер от Microsoft и запустите установщик, вам нужно будет скопироватьsqljdbc_auth.dll из \аутентификация каталог в с:\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));
        }
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top