ورود

View Full Version : ارتباط MySQL با C#.NET2008



Sirwan Afifi
پنج شنبه 17 دی 1388, 23:20 عصر
سلام
نحوه ی ارتباط MYSQL با C#.NET چطوریه؟
ثبت؟حذف؟ویرایش؟و.......

farkhondeh
یک شنبه 20 دی 1388, 14:52 عصر
منظورتون انيكه چطوري داه را از mysql بياريد توي C#؟

Sirwan Afifi
سه شنبه 22 دی 1388, 21:37 عصر
نحوه کار با MySql تو سی شارپ به چه شکلیه
باید از چه کلاسهایی استفاده کنم ؟و.....؟

mojtabadj
پنج شنبه 24 دی 1388, 21:12 عصر
نحوه کار با MySql تو سی شارپ به چه شکلیه
باید از چه کلاسهایی استفاده کنم ؟و.....؟


باید mysql-connector-net رو بگیری و رو سیستمت نصب کنی بعد dll رو اضافه کنی تو برنامت

و ازش استفاده کنی

Sirwan Afifi
شنبه 26 دی 1388, 13:47 عصر
میشه یه با یه مثال کامل توضیح بدید؟

mojtabadj
دوشنبه 28 دی 1388, 22:40 عصر
میشه یه با یه مثال کامل توضیح بدید؟

این مثال مربوط به vb هستش ولی میتونی تو C#‎ استفاده کنی

http://www.dreamincode.net/forums/showtopic115753.htm

mina.net
چهارشنبه 14 بهمن 1388, 13:22 عصر
سلام دوست عزیز
ممکنه اون DLL رو اینجا بزاری . چون من نتونستم پیدا کنم.

mshakeri
دوشنبه 19 بهمن 1388, 22:27 عصر
لینک زیر:
http://barnamenevis.org/forum/showthread.php?t=177886

mina.net
جمعه 23 بهمن 1388, 17:09 عصر
سلام دوستان
من تونستم به صورت لوکال با دیتابیس Mysql از طریق دات نت ارتباط برقرار کنم. ولی هنوز نتونستم با دیتابیس روی وب این کار رو بکنم. تو یک سایت که هاست رایگان می داد یک دیتابیس ساختم ولی نشد باهاش کانکت بشم. یکی از دوستان که این سایت رو دید گفته این سایت خودش مشکل داره. نمی دونمشاید درست بگه. من نیاز به یه دیتابیس دارم که روی وب باشه و نام سرور ، نام دیتابیس ، نام یوزر و پسوردش رو داشته باشم. اگه یکی از دوستان که به MYSQL وارد هست برای من یک دیابیس روی وب بسازه ممنون می شم.

mshakeri
شنبه 24 بهمن 1388, 16:59 عصر
شما باید ابتدا یه user و password در MySQL در آن host برای خودتون تعریف کنید.مگه میشه همینطوری به یک سرور تحت وب متصل شد.

mina.net
یک شنبه 25 بهمن 1388, 13:49 عصر
شما باید ابتدا یه user و password در MySQL در آن host برای خودتون تعریف کنید.مگه میشه همینطوری به یک سرور تحت وب متصل شد.

سلام دوست عزیز
من این کار رو کردم ولی نشد. user و pass ام رو به یکی از دوستان تو همین سایت دادم ایشون هم نتونستن کاری بکنن. می گه سایتش مشکل داره. نمی دونم تا چه اندازه درست هست. اگه لازم دونستید می تونم مشخصات کاربری ام رو تو سایت gigfa به هتون بدم تا آزمایش کنید.

mshakeri
یک شنبه 25 بهمن 1388, 21:24 عصر
ببینید شما وقتی که به host لاگین می شید و وارد c-panel می شید در MySQL گزینه ای مثل "user administration" وجود داره که اگر به شما اجازه ساخت user رو بده می تونید کاربری تعریف کنید و در connection string باید این username و password را وارد کنید.

mina.net
دوشنبه 26 بهمن 1388, 09:31 صبح
ببینید شما وقتی که به host لاگین می شید و وارد c-panel می شید در MySQL گزینه ای مثل "user administration" وجود داره که اگر به شما اجازه ساخت user رو بده می تونید کاربری تعریف کنید و در connection string باید این username و password را وارد کنید.

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


"host=host_name;UserName="user name";Password=pass;Database=DatabaseName"

اگه یک لطفی بکنی ممنون می شم. من تو پیام خصوصی مشخصات کاربری ام رو تو gigfa به شما می دم. ببینید می تونید تو محیط php یا mysql به اون متصل بشید . اگه شما بتونید این کار رو بکنید پس نشون می ده کد نویسی من تو دات نت اشکال داره وگرنه اشکال از وب سایت مورد نظر هست شاید هم اجازه نمی ده یک برنامه ویندوزی بهش متصل بشه.

mshakeri
دوشنبه 26 بهمن 1388, 12:04 عصر
ببینید من وارد هاست شما شدم در قسمت دیتابیس هاست شما اجازه ساخت user رو نمیده.
به این عکس یک نگاه بندازید:
44127

می بینید که این هاست اجازه ساخت user رو به شما میده.در ضمن در هاستی که شما دارید پورت مشخص نشده در حالیکه شما برای connect شدن نیاز به شماره پرت دارید.

mshakeri
سه شنبه 27 بهمن 1388, 13:54 عصر
نکته مهمی که وجود داره اینه که ما قبل از اینکه بتونیم به MySQL server راه دور متصل بشیم باید توسط کد


grant all on MyDB.* to user@IP identified by 'Mypass'
در PHPMyadmin این فرمان را اجرا کنیم.اما وقتی من این فرمان را در هاست شما و حتی هاست خودم اجرا می کنم با پیغام زیر مواجه میشم.


#1044 - Access denied for user 'user'@'%' to database 'MyDB'

حالا اگر کسی هست بدونه اشکال از کجاست؟

mina.net
سه شنبه 27 بهمن 1388, 16:26 عصر
سلام دوست عزیز
ممنون که همکاری می کنید.
البته سایت پورت رو داده. پورتش هم 3306 هست.


در PHPMyadmin این فرمان را اجرا کنیم.اما وقتی من این فرمان را در هاست شما و حتی هاست خودم اجرا می کنم با پیغام زیر مواجه میشم.

منظورت چیه در هاست خودم. آیا منظورت اینه که در همین سایت gigfa یک هاست رایگان گرفتی یا هاستی که از قبل داشتی؟

جمع بندی : با توجه به اینکه من می تونم به صورت لوکال به دیتابیس mysql از طریق vb.net کانکت بشم ولی برروی سرور نمی تونم. و همچنین شما هم نتونستید از طریق php به دیتابیسT, هاست من متصل بشید.
آیا این به این معنی هست که هاستم مشکل داره و نه کد نویسی من؟

بازم ممنون از کمکی که انجام می دید.

mina.net
سه شنبه 27 بهمن 1388, 16:36 عصر
اگه بتونی یک سایت خوب که هاست رایگان می ده و مشکلات اینطوری هم نداره به من معرفی کنی ممنون می شم. فقط می خوام آزمایش کنم.

mshakeri
سه شنبه 27 بهمن 1388, 18:50 عصر
اگه بتونی یک سایت خوب که هاست رایگان می ده و مشکلات اینطوری هم نداره به من معرفی کنی ممنون می شم. فقط می خوام آزمایش کنم.

من از سایت http://hosting.zymic.com هاست رایگان گرفتم.در ضمن بنده هم از طریق .net متصل می شم هم از طریق ODBC .
من وقتی از طریق odbc کانکت میشم:
44211
با پیغام زیر مواجه میشم:
44212
مشکل از کد نویسی شما نیست.چون من روی چند هاست دیگه هم امتحان کردم ولی همین پیام رو میداد.
اگه هاست اجازه اجرای فرمان GRANT رو بده حتما میشه به هاست متصل شد.آیا کسی هست بتونه این محدودیت رو بر طرف کنه؟

mina.net
سه شنبه 27 بهمن 1388, 19:21 عصر
من از سایت http://hosting.zymic.com هاست رایگان گرفتم.در ضمن بنده هم از طریق .net متصل می شم هم از طریق ODBC .
من وقتی از طریق odbc کانکت میشم:
44211
با پیغام زیر مواجه میشم:
44212
مشکل از کد نویسی شما نیست.چون من روی چند هاست دیگه هم امتحان کردم ولی همین پیام رو میداد.
اگه هاست اجازه اجرای فرمان GRANT رو بده حتما میشه به هاست متصل شد.آیا کسی هست بتونه این محدودیت رو بر طرف کنه؟

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

mina.net
یک شنبه 02 اسفند 1388, 09:02 صبح
سلام دوستان لطفا کمک کنید. چرا اینقدر این تالار کم رونق هست.
می تونید این لینک رو هم ببینید.
http://barnamenevis.org/forum/showthread.php?p=914867#post914867

mshakeri
یک شنبه 02 اسفند 1388, 10:17 صبح
من به نتیجه هایی رسیدم.لینک:
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
اما نمیدونم که این دستورات را باید کجا اجرا کنم.

mina.net
یک شنبه 02 اسفند 1388, 20:53 عصر
من به نتیجه هایی رسیدم.لینک:
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
اما نمیدونم که این دستورات را باید کجا اجرا کنم.

سلام
من هنوز لینک شما رو نخوندم کامل.
من از کد زیر برای اتصال به mysql در vb.neet استفاده می کنم. این کد به صورت سرور هم جواب داده. یعنی از یک سیستم دیگه بهش متصل شدم.



Imports MySql.Data.MySqlClient

Public Class Form1
Dim myConnString As String = "host=pc6;UserName=root;Password=;Database=mydb"
Dim myConnection As MySqlConnection = New MySqlConnection(myConnString)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myConnection.Open()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim mySelectQuery As String = "SELECT fname FROM Mytb where id='4'"
Dim myCommand As MySqlCommand = New MySqlCommand(mySelectQuery, myConnection)
Dim obj As Object = myCommand.ExecuteScalar
Dim str As String = CType(obj, String)
MsgBox(str)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim name, id, fname As String
name = "Ahangarpor"
id = "4"
fname = "barbod"
Dim cmd As MySqlCommand = New MySqlCommand("insert into Mytb (id,name,fname)values('" & id & "','" & name & "','" & fname & "')", myConnection)
cmd.ExecuteNonQuery()
MsgBox("ثبت شد")
End Sub
End Class


نمی دونم همین کد می تونه دیتابیس روی وب هم به کار بره یا نه.

mshakeri
یک شنبه 02 اسفند 1388, 23:56 عصر
بله این کد به صورت سرور هم جواب میده بخاطر اینکه شما محدودیتی در جدول user در دیتابیس MySQL اعمال نکردید.من هم این کار و در شبکه انجام دادم و جواب هم داده.تنها علتی که وب سرورها اجازه ارتباط رو نمیدن وحود این محدودیت برای user شما در جدول user در دیتابیس MySQL روی وب سرور هست.

mina.net
دوشنبه 03 اسفند 1388, 16:54 عصر
سلام دوست عزیز
من سوالم اینه آیا هاست غیر رایگان(بابتش پول پرداخت می شه) هم همچین محدودیتی اعمال می کنه یا نه؟

mshakeri
دوشنبه 03 اسفند 1388, 19:26 عصر
من سوالم اینه آیا هاست غیر رایگان(بابتش پول پرداخت می شه) هم همچین محدودیتی اعمال می کنه یا نه؟

در هاست های غیر رایگان هم به طور پیش فرض این محدودیت وجود داره اما میشه با تماس با نمایندگی هاشون این محدودیت رو بر طرف کرد.

Jason.Bourne
شنبه 08 اسفند 1388, 17:39 عصر
در هاست های غیر رایگان هم به طور پیش فرض این محدودیت وجود داره اما میشه با تماس با نمایندگی هاشون این محدودیت رو بر طرف کرد.

باید دقیقا چه چیزی ازشون بخوایم و چه کاری باید انجام بدهند؟!

Jason.Bourne
شنبه 08 اسفند 1388, 17:53 عصر
سلام دوست عزیز
من سوالم اینه آیا هاست غیر رایگان(بابتش پول پرداخت می شه) هم همچین محدودیتی اعمال می کنه یا نه؟

من هم که هاست غیر رایگان دارم و بر روی سرور لینوکس هم هست و میخواهم با PHP بصورت remote به این هاست وصل بشوم به من اجازه دسترسی را نمی دهد. به عبارتی به سرور MySQL مذکور وصل می شوم اما با پیغام زیر مواجه می شوم.


Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'MyUser'@'*******' (using password: YES)

mina.net
شنبه 08 اسفند 1388, 21:02 عصر
این جوابی هست که مسئولین هاست به من دادن امیدوارم مفید باشد.


نمونه کانکشن استرینگ برای شما ارسال در ایمیل ارسال شده است که در پایین مجددا قرار داده می شود

Provider=SQLOLEDB;Data source=sql2005.bertina.ir;Initial catalog=databaseName;User Id=userName;Password=password;
Server=sql2005.bertina.ir;Database=databaseName;Ui d=userName;Password=password;

برای mysql هم از ادرس زیر استفاده نمایید
mysql5.bertina.ir
هاست برتینا اجازه دسترسی را دور Allow Remote Connections را هم برای mysql و هم sql server می دهد
در رابطه با دستور grant در mysql هم هیچ هاست استانداردی چنین دسترستی برای استفاده از این دستور را نمی دهد زیرا در صورت فعال بودن این دستور کاربر بصورت مدیر کامل هاست می توانید خود را معرفی نموده و به دیتا بیس تمامی کاربران دیگر دسترسی پیدا نماید


در صورت هر گونه سوال و یا درخواست ما در خدمت شما هستیم

از تماس شما متشکریم

برتینا


من نام سرور رو اشتباه می دادم. ولی هنوز آزمایش نکردم. می ره برای فردا اینشااله

mina.net
یک شنبه 09 اسفند 1388, 09:41 صبح
سلام دوستان
مشکل حل شد. هم با sql و هم با mysql. بهترین راه اینه که با ارائه دهنده هاست مشورت کنید. توضیح خاصی نداره باید ازشون نمونه کانکشن بخواهید.