Pregunta

Voy a comenzar un nuevo proyecto: reescribir un sistema existente (PHP + SQL Server) desde cero debido a algunas limitaciones de diseño muy serias.

Tenemos un conocimiento bastante bueno de SQL Server (actualmente estamos usando SQL Server 2000 en el sistema existente) y nos gustaría emplear su versión más nueva (2008, supongo) en nuestro nuevo proyecto.

Me gustan mucho las tecnologías que ofrece Java, en particular Spring Framework y Wicket, y estoy bastante familiarizado con Java gracias a otros proyectos y tareas anteriores.Por lo tanto, consideramos utilizar Java y Microsoft SQL Server.

Hay dos controladores JDBC para SQL Server: jTDS y el de Microsoft. http://msdn.microsoft.com/en-us/data/aa937724.aspx.Creo que deberíamos probarlos a ambos.

¿Existe alguna limitación en dicha solución que deba conocer?¿Alguien tiene experiencia con tal combinación de tecnología?

¿Fue útil?

Solución

Trabajé en un proyecto que utiliza MSQL Server junto con Java Stack.Funciona muy bien y durante mucho tiempo, ya que JDBC realmente no debería preocuparse por su base de datos.Usamos ehcache junto con Hibernate y tuvimos problemas con el controlador MS JDBC, así que cambiamos a jtds y funciona realmente bien.

Fue hace bastante tiempo, por lo que es posible que aún quieras darle una oportunidad al controlador de MS...

Otros consejos

No sé sobre Java y 2008...pero no deberías tener demasiados problemas con Java y SQL2000.Como sugirió lubos, te harías un favor al mirar C#, pero si te sientes mucho más cómodo con Java, entonces no debería haber limitaciones reales como el conector JDBC. es compatible con Microsoft

Hemos estado ejecutando una aplicación usando Hibernate hablando con múltiples instancias remotas del servidor MSQL durante algunos años y también cambiamos al controlador jTDS desde el principio después de algunos problemas con el controlador M$.Desde el cambio no hemos tenido ningún problema en absoluto.Sin embargo, no es una aplicación complicada por lo que no utiliza ningún LOB.Espero que ayude.

jTDS es excelente.Lo he estado usando durante años sin problemas en entornos de producción de alta disponibilidad.

Me inclinaría por el controlador jTDS.El controlador MSSQL tiene una limitación por la que no se puede volver a leer la misma columna dos veces.Esto sucede con frecuencia cuando se utiliza Hibernate.

El controlador JDBC funciona bien con SQL Server 2008, no he tenido ningún problema con él.La versión que necesita descargar depende de la versión del JRE que haya instalado.JRE6 usa JDBC4, JRE7 usa JDBC4.1, etc.Una vez que descargue el controlador correcto de Microsoft y ejecute el instalador, deberá copiar elsqljdbc_auth.dll desde el \autenticación directorio al c:\windows\system32 directorio.Luego puede usar este código para establecer una conexión:

En tu encabezado:

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

y en tu clase:

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));
        }
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top