2012-05-29 19 views
6

कैसे मैं एक mysql डेटाबेस गर्त सी # से जुड़ सकते हैं,कैसे SSH पर सी # से mysql से कनेक्ट करने के

यह अब मेरी कनेक्शन स्ट्रिंग है:

connectionString="server=localhost;port=3306;user id=root;Password=*****;database=Data" providerName="MySql.Data.MySqlClient" 

कैसे इस फार्म के रूप में में SSH स्ट्रिंग डाल करने के लिए यह कुछ ऐसा करने की जरूरत है:

SSH होस्टनाम, SSH प्रयोक्ता नाम, SSH पासवर्ड, Mysql होस्टनाम, Mysql प्रयोक्ता नाम, Mysql पासवर्ड, पोर्ट

+1

मैं एक SSH प्रॉक्सी बनाने के लिए/आगे * पहले * और फिर बस का उपयोग करने वाले ... परीक्षा की जाएगी –

+0

यकीन है कि, मुझे कुछ और अधिक जानकारी कैसे है कि कम से –

+0

देखो बनाया है [ 'plink'] (http://linux.die.net/man/1/plink) प्रोग्राम जो पुट्टी के हिस्से के रूप में आता है। शायद सबसे सुरुचिपूर्ण नहीं है, लेकिन यह काम करना चाहिए। '-L' (एक स्थानीय बंदरगाह आगे) पैरामीटर यहां ब्याज का होगा। प्रमाण पत्र कई तरीकों से आपूर्ति की जा सकती है। मैं पीकेआई का उपयोग करने की सलाह देते हैं। –

उत्तर

5

मुझे नहीं लगता कि MySQL और MySQL क्लाइंट इस तरह की चीज़ का समर्थन करते हैं। कनेक्शन स्ट्रिंग विशेष रूप से डेटाबेस के लिए है। एसएसएच सर्वर से पहले कनेक्ट करने के लिए आपको एक एसएसएच क्लाइंट की आवश्यकता होगी और फिर उस सुरंग पर एसक्यूएल कनेक्शन को रूट करने का एक तरीका खोजें।

http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

मुझे नहीं लगता कि SSH कनेक्शन से निपटने के लिए एक Microsoft नेट पुस्तकालय नहीं है, लेकिन कोड Plex पर एक खुला स्रोत परियोजना है कि मदद कर सकता है वहाँ है।

http://sshnet.codeplex.com/

+0

+1 का उपयोग कर सकते हैं, मुझे sshnet के अस्तित्व के बारे में पता नहीं था। जानकार अच्छा लगा । – aleroot

+1

अच्छी लाइब्रेरी, मैं यह देखने के लिए कोशिश करूंगा कि यह कैसे काम करता है –

1

आप एक SSH प्रॉक्सी या SSH क्रेडेंशियल निर्दिष्ट नहीं कर सकते कनेक्शन स्ट्रिंग में, आपको पहले एसएसएच कनेक्शन स्थापित करना होगा और उसके बाद मानक कनेक्शन स्ट्रिंग का उपयोग करना होगा जैसा कि आपके प्रश्न में है।

सी # के माध्यम से एक एसएसएच कनेक्शन स्थापित करने के लिए आप sharpSsh जैसी लाइब्रेरी का उपयोग कर सकते हैं।

+0

एसएसएच कनेक्शन कैसे स्थापित किया जा सकता है इसका एक उदाहरण है [पहले]? –

+0

आपके उत्तर के लिए धन्यवाद लेकिन समस्या उस तरह के कनेक्शन की स्थापना कर रही है। जैसा कि पीएसटी ने कहा था कि मुझे पट्टी का उपयोग करने की ज़रूरत है। लेकिन यह थोड़ा जटिल –

+0

है उदाहरण के लिए आप sharpSsh – aleroot

1
PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(hostAdres, hostNaam, wachtwoord); 
connectionInfo.Timeout = TimeSpan.FromSeconds(30); 
client = new SshClient(connectionInfo); 
client.Connect(); 
ForwardedPortLocal portFwld = new ForwardedPortLocal ("127.0.0.1", Convert.ToUInt32(hostpoort), DataBaseServer, Convert.ToUInt32(remotepoort)); client.AddForwardedPort(portFwld); 
portFwld.Start(); 
// using Renci.sshNet 
connection = new MySqlConnection("server = " + "127.0.0.1" + "; Database = database; password = PWD; UID = yourname; Port = 22"); 
connection.Open(); 
संबंधित मुद्दे