Question

Je vais démarrer un nouveau projet : réécrire un système existant (PHP + SQL Server) à partir de zéro en raison de limitations très sérieuses de par sa conception.

Nous avons une assez bonne connaissance de SQL Server (nous utilisons actuellement SQL Server 2000 dans le système existant) et nous aimerions utiliser sa version la plus récente (2008 je suppose) dans notre nouveau projet.

J'aime beaucoup les technologies proposées par Java - en particulier Spring Framework et Wicket et je connais assez bien Java grâce à d'autres projets et missions auparavant.Par conséquent, nous envisageons d'utiliser Java et Microsoft SQL Server.

Il existe deux pilotes JDBC pour SQL Server - jTDS et celui de Microsoft - http://msdn.microsoft.com/en-us/data/aa937724.aspx.Je pense que nous devrions tester les deux.

Y a-t-il des limites à une telle solution que je devrais connaître ?Quelqu'un a-t-il expérimenté une telle combinaison technologique ?

Était-ce utile?

La solution

J'ai travaillé sur un projet utilisant MSQL Server en conjonction avec une pile Java.Cela fonctionne très bien et aussi longtemps, puisque JDBC ne devrait pas vraiment se soucier de votre base de données.Nous avons utilisé ehcache avec Hibernate et avons eu des problèmes avec le pilote MS JDBC, nous sommes donc passés à jtds et cela fonctionne très bien.

Cela fait longtemps, vous voudrez peut-être encore donner une chance au pilote MS...

Autres conseils

Je ne connais pas Java et 2008...mais vous ne devriez pas avoir trop de problèmes avec Java et SQL2000.Comme Lubos l'a suggéré, vous vous rendriez service en examinant C#, mais si vous êtes beaucoup plus à l'aise avec Java, il ne devrait pas y avoir de réelles limitations comme le connecteur JDBC. est pris en charge par Microsoft

Nous exécutons une application utilisant Hibernate pour parler à plusieurs instances distantes de serveur MSQL depuis quelques années maintenant et nous sommes également passés au pilote jTDS très tôt après quelques problèmes avec le pilote M$.Depuis le changement, nous n'avons rencontré aucun problème.Cependant, ce n’est pas une application compliquée et n’utilise donc aucun LOB.J'espère que cela pourra aider.

jTDS est excellent.Je l'utilise depuis des années sans problème dans des environnements de production à haute disponibilité.

Je pencherais pour le pilote jTDS.Le pilote MSSQL a une limitation qui vous empêche de relire deux fois la même colonne.Cela arrive fréquemment lors de l’utilisation d’Hibernate.

Le pilote JDBC fonctionne bien avec SQL Server 2008, je n'ai eu aucun problème avec celui-ci.La version que vous devez télécharger dépend de la version du JRE que vous avez installée.JRE6 utilise JDBC4, JRE7 utilise JDBC4.1, etc.Une fois que vous avez téléchargé le bon pilote auprès de Microsoft et exécuté le programme d'installation, vous devrez copier lesqljdbc_auth.dll du \auth répertoire vers le c:\windows\système32 annuaire.On peut alors utiliser ce code pour établir une connexion :

Dans votre en-tête :

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

et dans ta 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));
        }
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top