2011-09-01 11 views
5

हाय मैं जानना चाहता हूं कि मुझे सी #, .NET में बाहरी SQL सर्वर डेटाबेस से कैसे कनेक्ट करना चाहिए?नेट सी # बाहरी SQL सर्वर डेटाबेस से कैसे कनेक्ट करें? ओलेडीबी या अन्य?

उदाहरण के लिए अगर मैं वहाँ पैरामीटर:

एसक्यूएल जानकारी

  • यूआरएल (ब्राउज़र भर भी) डेटाबेस को पाने के लिए: Sqlweb.companyname.com
  • डेटाबेस उपयोगकर्ता नाम: उपयोगकर्ता नाम
  • सर्वर: डीसीएमएस-xxx
  • डाटाबेसनाम: डेटाबेस नाम
  • डाटाबेस पासवर्ड: पासवर्ड

?

मैं जानता हूँ कि आंतरिक से कनेक्ट करने के लिए कैसे: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.AppDomain.CurrentDomain.BaseDirectory + "..\\Files\\MapPlaces\\Database.mdb;";

लेकिन के बारे में क्या बाहरी?

मैं कोशिश की है:

string nowConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Sqlweb.companyname.com;Initial Catalog = databaseName; User Id = Username; Password = Password;"; 

System.Data.OleDb.OleDbConnection dbcon = new System.Data.OleDb.OleDbConnection(nowConString); 

string sql = "SELECT * FROM XXXTable"; 

dbcon.Open(); 

System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, dbcon); 

System.Data.OleDb.OleDbDataReader reader; 

reader = cmd.ExecuteReader(); 

ScriptStuff.Append("Reader created!<br/>"); 

while (reader.Read()) 
{ 
    string companyName = reader.GetValue(1).ToString(); 

    ScriptStuff.Append(companyName+"<br/>"); 

} 

काम नहीं किया था! आपके सहयोग के लिए धन्यवाद !

टिप्पणियों से संपादित:

हाँ है कि एक मेरी गलती धन्यवाद किया गया था। चूंकि पहले व्यक्ति का उपयोग था और हाँ दूसरा SQL सर्वर है। और यह एसक्यूएल सर्वर 2005 है। लेकिन मैं .NET के लिए नया हूं और यह सब ... मुझे connectionstring.com में पहला और दूसरा मिला है, लेकिन मुझे यह पता नहीं चला कि इसका उपयोग कैसे किया जा सकता है ...

क्या आप मदद कर सकते हैं, और सिर्फ छेद कनेक्शन पोस्ट कर सकते हैं? धन्यवाद - विलिस 7 मिनट पहले

मेरा मतलब है कि मुझे अभी भी ओलेडीबी का उपयोग करने की आवश्यकता है? "प्रदाता = माइक्रोसॉफ्ट.जेट.ओएलडीबी.4.0;" होना चाहिए उस कनेक्शन स्ट्रिंग में? मैं कहां पोस्ट करूं (सर्वर (वह डीसीएमएस-xxx), या एसक्यूएल सर्वर (sqlweb.companyname.com) का यूआरएल)? आपकी सहायताके लिए धन्यवाद ! -

उत्तर

1

मैं एक कनेक्शन जोड़ूंगा जो मेरे ऐप/web.config पर है।

<connectionStrings> 
    <add name="AspnetdbConnectionString" 
     connectionString="Data Source=<databaseadress>;Initial Catalog=<database>;User Id=<user>;Password=password>" 
     providerName="System.Data.SqlClient" 
    /> 
</connectionStrings> 

उपर्युक्त उदाहरण यह है कि आप एक एमएसएसएलएल कनेक्शन के लिए कनेक्शनस्ट्रिंग निर्दिष्ट करते हैं, और इस कनेक्शनस्ट्रिंग का उपयोग करने के तरीके के नीचे।

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["AspnetdbconnectionString"].ConnectionString)) 
     { 
      cn.Open(); 
      using (SqlCommand cm = cn.CreateCommand()) 
      { 
       cm.CommandType = CommandType.Text; 
       cm.CommandText = "SELECT * FROM ..."; 
       using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) 
       { 
        while (dr.Read()) 
        { 
         // do stuff 
        } 
       } 
      } 
     } 
+0

आपको बहुत धन्यवाद, अब कोशिश करें :);) डेटाबेस पता एक का उपयोग करने के लिए चुड़ैल? सर्वर (वह डीसीएमएस-xxx), या एसक्यूएल सर्वर (sqlweb.companyname.com) का यूआरएल – Vilius

+0

निर्भर करता है कि यह स्थानीय नेटवर्क पर है या नहीं। यदि पूरा पता (sqlweb.companyname.com) का उपयोग नहीं करते हैं। – tskulbru

+1

ताकि सर्वर (वह डीसीएमएस-xxx) हम कनेक्ट करते समय बिल्कुल उपयोग न करें? यह स्थानीय नेटवर्क पर नहीं है (मुझे लगता है :)) – Vilius

0

क्या आप वाकई एक SQL सर्वर डेटाबेस है जिसे आप कनेक्ट करने का प्रयास कर रहे हैं?
आपका "आंतरिक" उदाहरण के एक माइक्रोसॉफ्ट एक्सेस डेटाबेस (OLEDB प्रदाता और डेटाबेस फाइल एक्सटेंशन .mdb)

को जोड़ता है अपने बाहरी डेटाबेस वास्तव में एक SQL सर्वर डेटाबेस, सुझाया गया तरीका SqlConnection, SqlDataReader उपयोग कर रहा है के बजाय है और इतने पर हैं OleDbConnection आदि
या, यदि आप वास्तव में ओलेडीबी का उपयोग करना चाहते हैं, तो आपको एक अलग कनेक्शन स्ट्रिंग की आवश्यकता है।
कनेक्शनस्ट्रिंग्स.com देखें (SQL सर्वर 2008, 2005 या 2000 के लिए, जो आप कनेक्ट करने का प्रयास कर रहे हैं उसके आधार पर)।

+0

हाँ तहट मेरी गलती थी, धन्यवाद। चूंकि पहले व्यक्ति का उपयोग था और हाँ दूसरा सेकेंड है। और यह 2005 वर्ग है। लेकिन मैं .NET के लिए नया हूं और यह सब ... मुझे उस कनेक्शनस्ट्रिंग डॉट कॉम में पहला और दूसरा मिला है, लेकिन मुझे यह नहीं मिला कि यह इस के लिए उपयोग कैसे किया जा सकता है ... क्या आप मदद कर सकते हैं और सिर्फ पोस्ट कर सकते हैं छेद कनेक्शन? धन्यवाद – Vilius

+0

मेरा मतलब है कि मुझे अभी भी ओलेडीबी का उपयोग करने की आवश्यकता है? "प्रदाता = माइक्रोसॉफ्ट.जेट.ओएलडीबी.4.0;" होना चाहिए उस कनेक्शन स्ट्रिंग में? मैं कहां पोस्ट करूं (सर्वर (वह डीसीएमएस-xxx), या एसक्यूएल सर्वर (sqlweb.companyname.com) का यूआरएल)? आपकी सहायताके लिए धन्यवाद ! – Vilius

0

मैं अत्यधिक पर एक नज़र डालने की सिफारिश करेंगे:

http://www.connectionstrings.com/

यह एक त्वरित है, सभी प्रमुख डेटाबेस के लिए कनेक्शन तार के विषय के उपचार "में आप का सामना"।

संबंधित मुद्दे