2008-08-09 28 views
10

我要開始一個新項目 - 重寫一個現有的系統(PHP + SQL Server),因爲一些非常嚴重的設計限制。我們對SQL Server有一些相當不錯的知識(目前我們在現有系統中使用SQL Server 2000),我們希望在我們的新項目中使用它的新版本(2008我猜)。Java + SQL Server - 一個可行的解決方案?

我真的很喜歡Java提供的技術 - 特別是Spring框架和Wicket,我對以前其他項目和任務的Java非常熟悉。 因此,我們考慮使用Java和Microsoft SQL Server。

有兩種JDBC驅動程序用於SQL Server - jTDS和Microsoft的一個 - http://msdn.microsoft.com/en-us/data/aa937724.aspx。我認爲我們應該測試他們兩個。

我應該知道這樣的解決方案是否有任何限制?有人有這種技術組合的經驗嗎?

回答

8

我工作過使用MSQL Server與Java Stack結合使用的項目。它工作得很好,只要JDBC不應該關心你的數據庫。我們將ehcache與Hibernate一起使用,並且在MS JDBC驅動程序中遇到了問題,所以我們切換到了jtds,它的工作非常好。

這是相當長一段時間前,所以你可能還是想給MS駕駛員的機會...

1

我不瞭解Java和2008 ......但是你不應該對Java和SQL2000有太多的麻煩。正如lubos所建議的那樣,你會自己動手看看c#,但是如果你對Java更加熟悉,那麼就不應該有任何實際的限制,因爲JDBC連接器is supported by Microsoft

1

我們已經現在正在運行使用Hibernate談論到多個遠程MSQL Server實例幾年的應用在與M $驅動程序發生幾個問題之後,我們也儘早切換到了jTDS驅動程序。由於交換機我們根本沒有任何問題。但是,這不是一個複雜的應用程序,因此它不使用任何LOB。希望有所幫助。

1

jTDS非常好。我一直在高可用性生產環境中使用它幾年,沒有問題。

1

我會傾向於jTDS驅動程序。 MSSQL驅動程序有一個限制,您無法重新讀取同一列兩次。這經常發生在使用Hibernate時。

0

JDBC驅動程序與SQL Server 2008配合良好,我對它沒有任何問題。您需要下載的版本取決於您安裝的JRE版本。 JRE6使用JDBC4,JRE7使用JDBC4.1等,一旦你從微軟下載正確的驅動程序並運行安裝程序,你需要將 sqljdbc_auth.dll\ AUTH目錄複製到C:\ 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)); 
     } 
    } 
} 
相關問題