2008-08-09 27 views
10

Tôi sẽ bắt đầu một dự án mới - viết lại hệ thống hiện có (PHP + SQL Server) từ đầu vì một số hạn chế rất nghiêm trọng do thiết kế.Java + SQL Server - một giải pháp khả thi?

Chúng tôi có một số kiến ​​thức khá tốt về SQL Server (hiện tại chúng tôi đang sử dụng SQL Server 2000 trong hệ thống hiện có) và chúng tôi muốn sử dụng phiên bản mới hơn (2008 tôi đoán) trong dự án mới của chúng tôi.

Tôi thực sự thích các công nghệ mà Java cung cấp - đặc biệt là Spring Framework và Wicket và tôi khá quen thuộc với Java từ các dự án và nhiệm vụ khác trước đây. Vì vậy, chúng tôi xem xét việc sử dụng Java và Microsoft SQL Server.

Có hai trình điều khiển JDBC cho SQL Server - jTDS và một của Microsoft - http://msdn.microsoft.com/en-us/data/aa937724.aspx. Tôi nghĩ chúng ta nên kiểm tra cả hai.

Có bất kỳ hạn chế nào trong giải pháp như vậy mà tôi nên biết không? Có ai đó trải nghiệm với sự kết hợp công nghệ như vậy không?

Trả lời

8

Tôi đã làm việc trên dự án sử dụng MSQL Server kết hợp với một Java Stack. Nó hoạt động rất tốt và miễn là JDBC không thực sự quan tâm đến cơ sở dữ liệu của bạn. Chúng tôi sử dụng ehcache cùng với Hibernate và có vấn đề với trình điều khiển MS JDBC, vì vậy chúng tôi chuyển sang jtd và nó hoạt động rất tốt.

Đó là khá một thời gian trước, vì vậy bạn vẫn có thể muốn cung cấp cho người lái xe MS một cơ hội ...

1

Tôi không biết về Java và 2008 ... nhưng bạn không nên gặp quá nhiều rắc rối với Java và SQL2000. Như lubos đã đề xuất, bạn sẽ tự mình xem xét C# nhưng nếu bạn cảm thấy thoải mái hơn với Java thì sẽ không có bất kỳ giới hạn thực nào khi kết nối JDBC is supported by Microsoft

1

Chúng tôi đã chạy một ứng dụng sử dụng Hibernate nói chuyện với nhiều trường từ xa MSQL Server cho một vài năm nay và chúng tôi cũng đã chuyển sang trình điều khiển jTDS sớm sau một vài vấn đề với trình điều khiển M $. Kể từ khi chuyển đổi, chúng tôi đã không có bất kỳ vấn đề gì cả. Tuy nhiên, nó không phải là một ứng dụng phức tạp nên nó không sử dụng bất kỳ LOB nào. Hy vọng rằng sẽ giúp.

1

jTDS là tuyệt vời. Tôi đã sử dụng nó trong nhiều năm mà không có vấn đề trong môi trường sản xuất sẵn sàng cao.

1

Tôi sẽ nghiêng về phía trình điều khiển jTDS. Trình điều khiển MSSQL có giới hạn nơi bạn không thể đọc lại cùng một cột hai lần. Điều này xảy ra thường xuyên khi sử dụng Hibernate.

0

Trình điều khiển JDBC hoạt động tốt với SQL Server 2008, tôi không gặp bất kỳ sự cố nào với nó. Phiên bản bạn cần tải xuống tùy thuộc vào phiên bản JRE bạn đã cài đặt. JRE6 sử dụng JDBC4, JRE7 sử dụng JDBC4.1, vv Một khi bạn tải về đúng driver từ Microsoft và chạy trình cài đặt, bạn sẽ cần phải sao chép sqljdbc_auth.dll từ thư mục \ auth đến c: \ windows \ system32 thư mục. sau đó sau đó có thể sử dụng mã này để tạo ra một kết nối:

Trong tiêu đề của bạn:

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

và trong lớp học của bạn:

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)); 
     } 
    } 
} 
Các vấn đề liên quan