Domanda

Inizierò un nuovo progetto: riscrivere da zero un sistema esistente (PHP + SQL Server) a causa di alcune limitazioni molto gravi di progettazione.

Abbiamo una conoscenza abbastanza buona di SQL Server (attualmente stiamo utilizzando SQL Server 2000 nel sistema esistente) e vorremmo utilizzare la sua versione più recente (immagino il 2008) nel nostro nuovo progetto.

Sono davvero appassionato delle tecnologie offerte da Java, in particolare Spring Framework e Wicket, e conosco abbastanza bene Java da altri progetti e incarichi precedenti.Pertanto, consideriamo l'utilizzo di Java e Microsoft SQL Server.

Esistono due driver JDBC per SQL Server: jTDS e quello di Microsoft - http://msdn.microsoft.com/en-us/data/aa937724.aspx.Penso che dovremmo testarli entrambi.

Ci sono limitazioni in tale soluzione di cui dovrei essere a conoscenza?Qualcuno ha esperienza con una tale combinazione tecnologica?

È stato utile?

Soluzione

Ho lavorato a un progetto utilizzando MSQL Server insieme a uno stack Java.Funziona molto bene e altrettanto a lungo, dal momento che JDBC non dovrebbe preoccuparsi del tuo database.Abbiamo usato ehcache insieme a Hibernate e abbiamo avuto problemi con il driver MS JDBC, quindi siamo passati a jtds e funziona davvero bene.

È passato un bel po' di tempo, quindi potresti ancora voler dare una possibilità al driver MS...

Altri suggerimenti

Non so di Java e del 2008...ma non dovresti avere troppi problemi con Java e SQL2000.Come suggerito da Lubos, faresti un favore a te stesso guardando C# ma se ti senti molto più a tuo agio con Java allora non dovrebbero esserci limitazioni reali come il connettore JDBC è supportato da Microsoft

Sono ormai alcuni anni che eseguiamo un'applicazione che utilizza Hibernate per comunicare con più istanze remote di MSQL Server e siamo anche passati al driver jTDS subito dopo alcuni problemi con il driver M$.Dopo il passaggio non abbiamo avuto alcun problema.Tuttavia, non è un'applicazione complicata, quindi non utilizza alcun LOB.Spero che aiuti.

jTDS è eccellente.Lo utilizzo da anni senza problemi in ambienti di produzione ad alta disponibilità.

Io propenderei per il driver jTDS.Il driver MSSQL presenta una limitazione per cui non è possibile rileggere la stessa colonna due volte.Ciò accade frequentemente quando si utilizza l'ibernazione.

Il driver JDBC funziona bene con SQL Server 2008 e non ho riscontrato alcun problema.La versione che devi scaricare dipende dalla versione di JRE che hai installato.JRE6 utilizza JDBC4, JRE7 utilizza JDBC4.1, ecc.Una volta scaricato il driver corretto da Microsoft ed eseguito il programma di installazione, sarà necessario copiare il filesqljdbc_auth.dll dal \aut directory in c:\finestre\system32 directory.Quindi puoi quindi utilizzare questo codice per stabilire una connessione:

Nella tua intestazione:

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

e nella tua classe:

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));
        }
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top