PDA

View Full Version : ارتباط با mysql از طریق c#



121314
جمعه 22 مرداد 1389, 12:40 عصر
سلام
کسی میتونه منو راهنمایی کنه که چطور میشه از طریق c# به بانک اطلاعات mysql روی linux متصل شد؟
من خیلی بهش نیاز دارم ممنون میشم به من کمک کنید.:گریه::عصبانی++::گیج:

mohammad272005
جمعه 22 مرداد 1389, 13:40 عصر
به صورت پیشفرض، برای اتصال به هر Database Engineی باید دوتل شرط فراهم باشه. اول اینکه اون DBE حتما ODBC رو پشتیبانی بکنه. یعنی توی Control Panel > Administrative Tools > Data Sources (ODBC) ظاهر بشه. در ثانی بتونی با یه ConnectionString بهش connect بشی. در غیر اینصورت باید Provider منحصر بفرد خودشو گیر بیاری.

sinashahab
جمعه 22 مرداد 1389, 13:49 عصر
سلام دوست عزیز

بگو ببنم این سرور لینوکس توی شبکه ی محلی هست یا روی اینترنت هست ؟

اگه روی اینترنت باشه متاسفانه با تحقیقاتی که من انجام دادم خیلی آسون نیست و درد سر داره. مخصوصا اینکه این سیستم لینوکس سرور سایت ها باشه (و سرور مال خودت نباشه و هاست خریده باشی)

ولی اگه روی شبکه محلی هست یا سرور اختصاصی ماله خودته بگو بهت راهنمایی بدم ؟

121314
جمعه 22 مرداد 1389, 16:37 عصر
سلام دوست عزیز

بگو ببنم این سرور لینوکس توی شبکه ی محلی هست یا روی اینترنت هست ؟

اگه روی اینترنت باشه متاسفانه با تحقیقاتی که من انجام دادم خیلی آسون نیست و درد سر داره. مخصوصا اینکه این سیستم لینوکس سرور سایت ها باشه (و سرور مال خودت نباشه و هاست خریده باشی)

ولی اگه روی شبکه محلی هست یا سرور اختصاصی ماله خودته بگو بهت راهنمایی بدم ؟
سلام
ممنون از توجهتون.شبکه ی محلی.
پروژه ی من یه کلاینت /سرور که سرورش لینوکس و کلاینت ویندوز و mysql روی سرور واز طریق سی شارپ باید بهش متصل بشم.
نمیدونم توضیحاتم کامل بود یا نه؟:عصبانی++:

121314
جمعه 22 مرداد 1389, 16:43 عصر
به صورت پیشفرض، برای اتصال به هر Database Engineی باید دوتل شرط فراهم باشه. اول اینکه اون DBE حتما ODBC رو پشتیبانی بکنه. یعنی توی Control Panel > Administrative Tools > Data Sources (ODBC) ظاهر بشه. در ثانی بتونی با یه ConnectionString بهش connect بشی. در غیر اینصورت باید Provider منحصر بفرد خودشو گیر بیاری.
سلام
database من روی linux نصب شده در این صورت هم باید conector تو همین مسیر قرار بگیره؟

sinashahab
جمعه 22 مرداد 1389, 18:50 عصر
کامل هست و خودم هم در حال نوشتن کامپوننتی برای این منظور هستم .

ان شا الله اگه برنامه ی خودم تموم شد شاید با اجازه ی صاحب پول share کنمش .

بعدش هم به صورت دستی باید همون نکاتی که در ارتباط با access رعایت می کردید اینجا هم رعایت کنید .
یعنی ابتدا connection String بسازید و بقیه اش هم معلومه .

121314
جمعه 22 مرداد 1389, 18:58 عصر
کامل هست و خودم هم در حال نوشتن کامپوننتی برای این منظور هستم .

ان شا الله اگه برنامه ی خودم تموم شد شاید با اجازه ی صاحب پول share کنمش .

بعدش هم به صورت دستی باید همون نکاتی که در ارتباط با access رعایت می کردید اینجا هم رعایت کنید .
یعنی ابتدا connection String بسازید و بقیه اش هم معلومه .
من فقط یه سوال دارم :من conector رو گیر آوردم ولی نمیدونم تو چه مسیری ازش استفاده کنم.

sinashahab
جمعه 22 مرداد 1389, 19:16 عصر
یعنی چی توی چه مسیری ؟؟

شما باید dll موجود در پوشه ی نصب شده رو به برنامه ات اضافه کنی .

121314
جمعه 22 مرداد 1389, 19:21 عصر
یعنی چی توی چه مسیری ؟؟

شما باید dll موجود در پوشه ی نصب شده رو به برنامه ات اضافه کنی .
میترسم نسخه ی من کامل نباشه چون فایل dll نداره.منظورم از مسیر اینه که چه طوری ازش استفاده کنم؟

sinashahab
جمعه 22 مرداد 1389, 21:07 عصر
باید بری از refrence ادد کنی :
اسمش هم MySql.data.dll هست .

اگه همون connector رو درست نصبیده باشی می تونی پیداش کنی .(واینگونه بود که خدا چشم و حواس رو برای پیدا کردن آفرید!)

121314
یک شنبه 24 مرداد 1389, 17:47 عصر
باید بری از refrence ادد کنی :
اسمش هم MySql.data.dll هست .

اگه همون connector رو درست نصبیده باشی می تونی پیداش کنی .(واینگونه بود که خدا چشم و حواس رو برای پیدا کردن آفرید!)
جناب چشم و حواس شما کانکتور مورد نظر منو داری من نمیتونم دانلودش کنم.

sinashahab
دوشنبه 25 مرداد 1389, 19:33 عصر
سلام دوستان

برای حال کردن کل ایرانی ها و خو کفایی از سایت های خارجی که بهمون اجازه دانلود نمیدن لینک آپلود شده میزارم .:لبخند:

http://www.mediafire.com/?vjmbawy9id0lzy4خودم دنبالش بودم چند وقت ولی تو سایتای ایرنی لینکی جز همون سایت اصلی ندیدم .

121314
دوشنبه 25 مرداد 1389, 23:34 عصر
سلام دوستان

برای حال کردن کل ایرانی ها و خو کفایی از سایت های خارجی که بهمون اجازه دانلود نمیدن لینک آپلود شده میزارم .:لبخند:
خودم دنبالش بودم چند وقت ولی تو سایتای ایرنی لینکی جز همون سایت اصلی ندیدم .
سلام
مرسی وطن پرست فوق العاده.میدونستی خیلی گلی؟:تشویق::قلب:

121314
پنج شنبه 28 مرداد 1389, 11:29 صبح
plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzz help me:گریه:

sinashahab
پنج شنبه 28 مرداد 1389, 12:44 عصر
خوب مشکلتو بگو دوست عزیز !!

من کمکت کنم چی کار کنی ؟ شنا بلد نیستی داری غرق میشی که کمکت کنم ؟؟
بگو مشکلت کجاس /
فقط اینو می تونم بهت بگم که فعلا درصد برای اتصال به mysql در شبکه تقریبا 0 هست .
خودمم در اینجاش مشکل دارم . با کلی زحمت یه برنامه بیمه با mysql نوشتم که نحت شبکه هم کم نیاره .
بعد از درست شدن سرور و این جور حرفا تازه فهمیدم مشکل از connector هست و نمیشه با mysql ارتباط در شبکه بر قرار کرد .

اگه کسی تونست برقرار کنه(که نمی تونه :لبخند:) به منم بگه .

121314
پنج شنبه 28 مرداد 1389, 16:32 عصر
خوب مشکلتو بگو دوست عزیز !!

من کمکت کنم چی کار کنی ؟ شنا بلد نیستی داری غرق میشی که کمکت کنم ؟؟
بگو مشکلت کجاس /
فقط اینو می تونم بهت بگم که فعلا درصد برای اتصال به mysql در شبکه تقریبا 0 هست .
خودمم در اینجاش مشکل دارم . با کلی زحمت یه برنامه بیمه با mysql نوشتم که نحت شبکه هم کم نیاره .
بعد از درست شدن سرور و این جور حرفا تازه فهمیدم مشکل از connector هست و نمیشه با mysql ارتباط در شبکه بر قرار کرد .

اگه کسی تونست برقرار کنه(که نمی تونه :لبخند:) به منم بگه .
یعنی واقعا معلوم نیست مشکل من چیه؟
کاش من غرق میشدم ولی این ارتباط با بانک کوفتی درست میشد.کاش میدونستی چند روز دیگه موقع ارائه چه آبرویی از من میره:گریه:

sinashahab
پنج شنبه 28 مرداد 1389, 16:44 عصر
خوب الان شما تا کجای کار پیش رفتید ؟؟

بگو کجاش گیریدی تا بهت بگم /

121314
پنج شنبه 28 مرداد 1389, 19:10 عصر
خوب الان شما تا کجای کار پیش رفتید ؟؟

بگو کجاش گیریدی تا بهت بگم /
من نمیتونم به بانک متصل بشم.اصلا نمیدونم چی کار کنم گیج شدم کلا.
من یه فرم طراحی کردم و فایل dll رو بهش اضافه کردم و تو تنظیمات connection string موندم.
خیلی وضعم خرابه نه؟
این هم از مشکلات مبتدی بودن!!!

sinashahab
پنج شنبه 28 مرداد 1389, 21:30 عصر
connection string رو مثل اتصال به دیتابیس های دیگه کامل کن .

یه مثال برات میارم شاید کارت راه افتاد !!

string Dataconnect = @"SERVER=" + Server + @";DATABASE=" + Database + @";USER ID=" + User +
@";PASSWORD=" + Pass + @";PORT=" + Port + @";CHARSET=utf8;";

connection = new MySqlConnection(Dataconnect); //etela@te connect be mysqlبعدشم این :

MySqlDataAdapter MySqlAdapter = new MySqlDataAdapter();
DataSet MySqlDataset = new DataSet();

MySqlAdapter.SelectCommand = new MySqlCommand();
MySqlAdapter.SelectCommand.Connection = connection;
MySqlAdapter.SelectCommand.CommandText = Query;
MySqlAdapter.SelectCommand.CommandType = CommandType.Text;

connection.Open();
MySqlAdapter.Fill(MySqlDataset , table);
connection.Close()();انو گفتم دیگه بری حال کنی .

si6arp
یک شنبه 07 شهریور 1389, 08:00 صبح
برای من این اررور رو میده :
Host 'MyIPAddress' is not allowed to connect to this MySQL server

داستان چیه ؟

sinashahab
یک شنبه 07 شهریور 1389, 11:41 صبح
برای من این اررور رو میده :
Host 'MyIPAddress' is not allowed to connect to this MySQL server

داستان چیه ؟

شما دارید به یهخ هاست لینوکس وصل میشید ؟:متفکر:

اگه همینه بگید تا بقیه اش رو بگم

si6arp
یک شنبه 07 شهریور 1389, 11:44 صبح
آره داداش دارم به یه هاست لینوکس وصل میشم

sinashahab
یک شنبه 07 شهریور 1389, 11:56 صبح
خوب تو اون کنترل پنل سایت باید IP خودتونو ادد کنید .

یه وقت تشکر نکنیا!! بد میشه .

si6arp
یک شنبه 07 شهریور 1389, 11:58 صبح
خوب داداش منظورتو متوجه نمیشم . پنل سایت DirectAdmin هست . دقیق کجا باید این کارو انجام بدم ؟
نمیشه یه کاری کرد که با هر آی پی بشه کانکت شد ؟

sinashahab
یک شنبه 07 شهریور 1389, 12:20 عصر
چرا شدنش میشه ولی کار من و تو نیست ! این رو باید به مسعول سروری بگی که هاستت روش هست و اونم یه ریموت از سرور بگیره و کاری کنه که سرور به آی پی گیر نده (برای mysql) .

خیلی از مسعولان این کارو نمی کنن چون برای خودشون خطر داره .(هک)

بعدش یه چیز بگم : کانت شدن به سرور لینوکس رو از ذهنت بیرون کن . چون من هر کاری کردم نشد. مشکل از connector هست . کردم نشد نکن نمیشه !!

si6arp
یک شنبه 07 شهریور 1389, 12:28 عصر
دوست خوبم من تونستم
فقط کافیه توی دایرکت ادمین به قسمت
MySql Management
برید و روی دیتا بیس مور نظر کلیک کنید و در صفحه بعدی در قسمت
Access Host
کاراکتر
% رو ادد کنید

این هم نمونه ای از کانکشن استرینگ




string CNNVAR = "server=1.1.1.1;database=MyDB;uid=MyUID;password=My Pwd;CHARSET=utf8;Port=3306";
MySqlConnection cnn = new MySqlConnection(CNNVAR);
cnn.Open();
MySqlCommand cmd = cnn.CreateCommand();
cmd.Connection = cnn;
cmd.CommandText = "select * from wp_users";
cmd.CommandType = CommandType.Text;
MySqlDataAdapter dap = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
dap.Fill(ds, "ds");
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.DataBindings.ToString();


تشکر فراموش نشه.

sinashahab
یک شنبه 07 شهریور 1389, 12:35 عصر
کار کرد :متعجب::متعجب::متعجب:

بابا ایول

من یه ماه داشتم روش کار می کردم ولی کانکت نمی شد !!

si6arp
یک شنبه 07 شهریور 1389, 12:42 عصر
روی هاستی که پنل DirecAdmin داره تست شد.
100% کار کرد. به پارامتر های Port & CHARSET در کانکشن استرینگ توجه کنید.
پورت ها مامولا" 3306 هستند
و این که به هاست بگی که همه آیپی های بتونن به دیتابیس وصل شن دست خود یوزر هست
توی DirecAdminهمونجا بود که گفتم و توی Cpanel به قسمت MySql Remote مراجعه کنید. وای وای چه لذتی داره :لبخند:

si6arp
یک شنبه 07 شهریور 1389, 12:49 عصر
ولی اینطور که معلومه فقط این نسخه از MyPhpAdmin رو میشه بهش کاننکت شد.
عکس ورژن ضمیمه گردید

sinashahab
یک شنبه 07 شهریور 1389, 13:25 عصر
بازم نشد :گریه:

احتمالا همین طور هست : الان این اررور رو میده برای من

Unable to connect to any of the specified MySQL hosts.

راستی این نکته ای که گفتی از کجا فهمیدی ؟؟!

بعدش یه سوال : برای این connection string یه مثال بزن ببینم درست وارد می کنم یا نه !؟

اینم مقایسه ی عکس برای من و تو :
http://programming.ramiz.ir/Files/mysql.png

si6arp
یک شنبه 07 شهریور 1389, 13:30 عصر
ببینید
MySql Client Verion من از شما بالا تره . همینطور Version Informaion
PHP Extention من mysqli هست ولی مال شما mysql

با یکم سرچ فهمیدم.

sinashahab
یک شنبه 07 شهریور 1389, 13:35 عصر
فقط دقیقا همون ورژن رو جواب میده ؟؟ یا نه بالا تر از اون ورژن ؟!

خوب اگه اینطوره پس من چطوری با mysql توی کامپیوتر خودم ارتباط بر قرار کردم در حالی که ورژنش خیلی پایین تر از سرور هاستم بود ؟!

si6arp
یک شنبه 07 شهریور 1389, 13:37 عصر
شما توی سی پنل % رو اضافه کردید ؟
البته من هم با سی پنل مشکل رو دارم . ولی با دایرکت ادمین کار کرد.

sinashahab
یک شنبه 07 شهریور 1389, 14:50 عصر
اره اضافه کردم .

ولی فکر نمی کنم مشکل از سی پانل باشه .
فکر کنم بازم مشکل از سرورش باشه .