Vra

Ek gaan 'n nuwe projek begin - herskryf 'n bestaande stelsel (PHP + SQL Server) van nuuts af as gevolg van 'n paar baie ernstige beperkings deur ontwerp.

Ons het 'n redelike goeie kennis van SQL Server (tans gebruik ons ​​SQL Server 2000 in bestaande stelsel) en ons wil graag die nuwer weergawe daarvan (ek dink 2008) in ons nuwe projek gebruik.

Ek is baie lief vir tegnologie wat Java bied - veral Spring Framework en Wicket en ek is baie vertroud met Java van ander projekte en opdragte voorheen.Daarom oorweeg ons om Java en Microsoft SQL Server te gebruik.

Daar is twee JDBC-drywers vir SQL Server - jTDS en Microsoft se een - http://msdn.microsoft.com/en-us/data/aa937724.aspx.Ek dink ons ​​moet albei van hulle toets.

Is daar enige beperkings in so 'n oplossing waarvan ek moet weet?Het iemand ondervinding met so 'n tegnologie kombinasie?

Was dit nuttig?

Oplossing

Ek het aan 'n projek gewerk met MSQL Server in samewerking met 'n Java Stack.Dit werk baie goed en so lank, aangesien JDBC nie regtig omgee vir jou databasis nie.Ons het ehcache saam met Hibernate gebruik en probleme gehad met die MS JDBC Driver, so ons het oorgeskakel na jtds en dit werk baie goed.

Dit is 'n hele rukkie gelede, so jy wil dalk nog die MS-bestuurder 'n kans gee ...

Ander wenke

Ek weet nie van Java en 2008 nie...maar jy behoort nie te veel probleme met Java en SQL2000 te hê nie.Soos Lubos voorgestel het, sal jy jouself 'n guns doen om na c# te kyk, maar as jy baie meer gemaklik is met Java, behoort daar geen werklike beperkings te wees as die JDBC-koppelaar nie. word deur Microsoft ondersteun

Ons het nou al 'n paar jaar 'n toepassing gebruik wat Hibernate gebruik en met verskeie afgeleë MSQL Server-instansies praat en ons het ook vroeg oorgeskakel na die jTDS-bestuurder na 'n paar probleme met die M$-bestuurder.Sedert die oorskakeling het ons glad nie enige probleme gehad nie.Dit is egter nie 'n ingewikkelde toepassing nie, so dit gebruik geen LOB's nie.Hoop dit help.

jTDS is uitstekend.Ek gebruik dit al jare sonder probleme in hoë-beskikbaarheid produksie-omgewings.

Ek sou na die jTDS-bestuurder leun.Die MSSQL-bestuurder het 'n beperking waar jy nie dieselfde kolom twee keer kan herlees nie.Dit gebeur gereeld wanneer Hibernate gebruik word.

Die JDBC-bestuurder werk goed met SQL Server 2008, ek het geen probleme daarmee gehad nie.Die weergawe wat jy moet aflaai hang af van die weergawe van die JRE wat jy geïnstalleer het.JRE6 gebruik JDBC4, JRE7 gebruik JDBC4.1, ens.Sodra jy die korrekte bestuurder van Microsoft afgelaai het en die installeerder laat loop, sal jy diesqljdbc_auth.dll van die \auth gids na die c:\windows\system32 gids.Dan kan dan hierdie kode gebruik om 'n verbinding te maak:

In jou kopskrif:

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

en in jou klas:

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));
        }
    }
}
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top