2008-08-09 14 views
10

मैं एक नई परियोजना शुरू करने जा रहा हूं - डिज़ाइन द्वारा कुछ गंभीर सीमाओं के कारण स्क्रैच से मौजूदा सिस्टम (PHP + SQL सर्वर) को फिर से लिखना।जावा + एसक्यूएल सर्वर - एक व्यवहार्य समाधान?

हमारे पास SQL ​​सर्वर का कुछ अच्छा ज्ञान है (वर्तमान में हम मौजूदा सिस्टम में SQL Server 2000 का उपयोग कर रहे हैं) और हम अपने नए प्रोजेक्ट में अपना नया संस्करण (2008 मुझे लगता है) को नियोजित करना चाहते हैं।

मैं वास्तव में उन प्रौद्योगिकियों का शौकिया हूं जो जावा ऑफर करता है - विशेष रूप से स्प्रिंग फ्रेमवर्क और विकेट और मैं जावा से अन्य परियोजनाओं और असाइनमेंट से काफी परिचित हूं। इसलिए, हम जावा और माइक्रोसॉफ्ट एसक्यूएल सर्वर का उपयोग करने पर विचार करते हैं।

SQL सर्वर - जेटीडीएस और माइक्रोसॉफ्ट के एक - http://msdn.microsoft.com/en-us/data/aa937724.aspx के लिए दो जेडीबीसी ड्राइवर हैं। मुझे लगता है कि हमें दोनों का परीक्षण करना चाहिए।

क्या ऐसे समाधान में कोई सीमाएं हैं जिन्हें मुझे पता होना चाहिए? क्या किसी ऐसे प्रौद्योगिकी संयोजन के साथ अनुभव किया है?

उत्तर

8

पर मैंने कोई वास्तविक सीमा नहीं होनी चाहिए एक जावा स्टैक के साथ संयोजन में एमएसक्यूएल सर्वर का उपयोग कर परियोजना। यह बहुत अच्छी तरह से काम करता है और लंबे समय तक, क्योंकि जेडीबीसी को वास्तव में आपके डेटाबेस की परवाह नहीं करनी चाहिए। हमने Hibernate के साथ ehcache का उपयोग किया और एमएस जेडीबीसी चालक के साथ समस्याएं थीं, इसलिए हमने jtds पर स्विच किया और यह वास्तव में अच्छा काम करता है।

यह काफी कुछ समय पहले है, तो आप अभी भी एमएस ड्राइवर एक मौका देने चाहते हो सकता है ...

1

मुझे जावा और 2008 के बारे में पता नहीं है ... लेकिन आपको जावा और एसक्यूएल 2000 के साथ बहुत अधिक परेशानी नहीं होनी चाहिए। जैसा कि लुबो ने सुझाव दिया था, आप सी # को देखने के लिए खुद को एक पक्ष कर रहे होंगे, लेकिन यदि आप जावा के साथ अधिक सहज हैं तो जेडीबीसी कनेक्टर is supported by Microsoft

1

हम अब कुछ वर्षों के लिए कई दूरस्थ MSQL सर्वर उदाहरणों से बात कर हाइबरनेट का उपयोग कर एक आवेदन बराबर चल रही है और हमने एम $ ड्राइवर के साथ कुछ मुद्दों के तुरंत बाद जेटीडीएस ड्राइवर को भी स्विच किया। स्विच के बाद से हमें कोई समस्या नहीं है। हालांकि, यह एक जटिल अनुप्रयोग नहीं है, इसलिए यह किसी भी LOB का उपयोग नहीं करता है। उम्मीद है की वो मदद करदे।

1

जेटीडीएस उत्कृष्ट है। मैं इसे उच्च उपलब्धता वाले उत्पादन वातावरण में बिना किसी मुद्दे के वर्षों तक उपयोग कर रहा हूं।

1

मैं जेटीडीएस ड्राइवर की तरफ झुकता हूं। MSSQL ड्राइवर में एक सीमा है जहां आप दो बार एक ही कॉलम को फिर से पढ़ नहीं सकते हैं। हाइबरनेट का उपयोग करते समय यह अक्सर होता है।

0

जेडीबीसी ड्राइवर SQL सर्वर 2008 के साथ अच्छी तरह से काम करता है, मुझे इसके साथ कोई समस्या नहीं है। जो संस्करण आपको डाउनलोड करने की आवश्यकता है वह आपके द्वारा इंस्टॉल किए गए जेआरई के संस्करण पर निर्भर करता है। JRE6, JDBC4 का उपयोग करता JRE7 JDBC4.1, आदि का उपयोग करता है आप Microsoft से सही ड्राइवर डाउनलोड करने और इंस्टॉलर को चलाने के एक बार जब आप \ प्रमाणन निर्देशिका से sqljdbc_auth.dll नकल करने की आवश्यकता होगी: \ 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)); 
     } 
    } 
} 
तब तो एक कनेक्शन बनाने के लिए इस कोड का उपयोग कर सकते हैं
संबंधित मुद्दे