اتصال به sql server - نسخه قابل چاپ +- Parsi Coders (http://parsicoders.com) +-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37) +--- انجمن: C# Programming (http://parsicoders.com/forumdisplay.php?fid=55) +--- موضوع: اتصال به sql server (/showthread.php?tid=2247) صفحات
1
2
|
اتصال به sql server - Ghoghnus - 05-09-2012 با سلـام و احترام دوستان من یه برنامه نوشتم که دیتا بیسم روی سرور قرار میگیره و برنامه از روی کلاینت ها به اون متصل میشن!اما برنامه نمیتونه روی سرور به بانک متصل بشه ویندوز سور 2008دارم و اس کیو ال2008 ممنون میشم راهنمایی کنید! RE: اتصال به sql server - Amin_Mansouri - 05-09-2012 سلام کانکشن استرینگو چی تعریف کردی ؟ اینجا ببین خیلی کمکت میکنه مثال هم داره : http://zetcode.com/db/mysqlcsharptutorial/ RE: اتصال به sql server - Ghoghnus - 05-09-2012 ایمین جان این که شما دادی مال مای اس کیو ال هستش به کارم نمیاد!چند نوع کانکشن استریگ تعریف کردم ولی حس میکنم از امنیت ویندوز سرور و اس کی ال هستش!ممنون میشم توضیح بدید! RE: اتصال به sql server - Amin_Mansouri - 05-09-2012 ربطی نداره RE: اتصال به sql server - Amin_Mansouri - 05-09-2012 ربطی نداره به این صورت وصل شو : ادررس رور یوزر و پسووردتو واردش کن بعد تو نام دیتابیس دقت کن ادرس هم بصورت ای پی using System; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string connetionString = null; SqlConnection cnn ; connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password" cnn = new SqlConnection(connetionString); try { cnn.Open(); MessageBox.Show ("Connection Open ! "); cnn.Close(); } catch (Exception ex) { MessageBox.Show("Can not open connection ! "); } } } } [/code] RE: اتصال به sql server - Ghoghnus - 05-09-2012 این روش را تست کردم دیروز اما جواب نداد!تحقیق کردم دوستام گفتم باید اس کیو ال و فایروال سرور را تنظیم کنم که هنوز روش کار را پیدا نکردم RE: اتصال به sql server - Amin_Mansouri - 05-09-2012 همکاران اینو میگن : تصال به mysql در C# برای اتصال به بانک اطلاعاتی my sql در .net احتیاج به موارد زیر داریم: 1- MySQL Server ترجیحا جدید ترین ورژن 2- MySQL Connector/NET به غیر از موارد بالا بسته دیگه ای که توصیه می کنم نصب کنید MySQL Workbench هست، که به شما اجازه کار بر روی سرور و بانک های اطلاعاتی mysql بصورت ویژوال رو میده. توجه: شما به جای نصب جداگانه بخش های بالا با استفاده از mysql-installer که حجمی حدود 200MB داره میتونید کل قسمت های مورد نیاز برنامه های بر اساس my sql رو به صورت یکجا نصب کنید. در مرحله اول شما باید بانک اطلاعاتی و جدولتون رو بسازید. برای ساخت بانک باید وارد سرور mysql بشید و این کار رو انجام بدید. در اینجا سه حالت پیش میاد: حالت اول اینکه شما MySQL Workbench رو نصب کرده باشید، که در این صورت میتونید بانک رو با چند تا کلیک بسازید (اگه خواستید بگید تا توضیح بدم). حالت دوم اینه که شما MySQL Workbench رو نصب نکردید و برای ساخت بانک میخواهید از طریق MYSQL Command Line وارد عمل بشید. برای این کار به مسیر start>All Programs>MySQL>MySQL Server برید و برنامه MySQL Command Line Client رو اجرا کنید یا به مسیر C:\Program Files\MySQL\MySQL Server 5.0\bin برید و برنامه mysql.exe رو اجرا کنید. با اجرای برنامه از شما پسوردی که در زمان نصب mysql به عنوان root دادید خواسته میشه که باید وارد کنید تا به محیط متنی سرور mysql وارد بشید. با نمایش اعلان : کد: mysql> شما وارد سرور شدید. در مقابل این اعلان شما میتونید دستورات sql و mysql رو تایپ کنید. در این محیط اتمام دستورات با علامت ; مشخص میشه. برای ساخت بانک اطلاعاتی از دستور زیر استفاده میشه کد: create database Test1; که Test1 در اینجا نام بانک اطلاعاتی ماست. برای ساخت جدول Users در بانک اطلاعاتی Test1 از دستور زیر استفاده میشه کد: use Test1; create table Users ( ID int not null auto_increment primary key, Name nchar(15) not null, Family nchar(20) not null, Age int not null ); نمایش پیام Query OK در جواب اجرای دستورات، نشان دهنده ی صحت اجرای دستور است. خوب بود شما در حال حاضر یک بانک اطلاعاتی در mysql با یک جدول خالی درون بانک دارید. دستور exit را درون خط فرمان mysql تایپ کنید، تا پنجره خط فرمان بسته شود. حالت سوم اینه که شما بخواهید از داخل برنامه بانک اطلاعاتی و جداولتون رو بسازید. برای این کار در داخل کدهاتون دستورات ساخت بانک و جدول رو به زبان Sql به شی MySqlCommand بدید.این شی مثل خط فرمان mysql عمل میکنه. در مرحله دوم ما باید پروژه C# رو بسازیم و با اون به mysql متصل بشیم. برای اینکار یک پروژه جدید در Visual Studio میسازیم.از منوی Project گزینه ی Add Reference رو می زنیم. در پنجره ای که باز میشه از سربرگ .Net گزینه ی MySql.Data رو انتخاب و OK می کنیم. حالا باید پروژتون رو بنویسید. این مرحله بسته به پروژه مورد نظر شما متغییره. اما توضیحات کلی اون در مورد اتصال به بانک اطلاعاتی مشترکه. برای درک بهتر میتونید از پروژه پیوست شده کمک بگیرید. وارد بخش کد نویسی فرم میشیم و در قسمت بالای اون using MySql.Data.MySqlClient; را اضافه میکنیم. حالا میتونیم در جایی از فرم که نیاز داریم، به بانک اطلاعاتی متصل بشیم. مثلا اگر یک DataGridView روی فرم قرار بدید و بخواهید با یاز شدن فرم اطلاعات جدولتون داخلش به نمایش در بیاد، باید داخل Form_Load کد های زیر رو بنویسید: کد: MySqlConnection con = new MySqlConnection("server=127.0.0.1; port=3306; database=Test1; uid=Us; password=Pass"); MySqlCommand com = new MySqlCommand("select * from Users", con); MySqlDataAdapter da = new MySqlDataAdapter(com); MySqlCommandBuilder combldr = new MySqlCommandBuilder(da); DataSet ds = new DataSet(); da.Fill(ds, "Users"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "Users"; شی con ارتباط ما رو با mysql و بانک اطلاعاتی Test1 برقرار می کنه.این شی یک رشته اتصال دریافت میکنه که دارای این قسمت هاست: server: نام سرور رو مشخص میکنه. port: شماره پورتی که mysql به اون متصل شده. به صورت پیش فرض روی 3306 قرار داره، اما اگه خودتون تغییرش داده باشید، یا چند نسخه از mysql روی سیستمتون نصب باشه، باید شماره پورت مربوط به mysql مورد نظرتون رو وارد کنید. database: نام بانک اطلاعاتی رو مشخص میکنه. uid: نام کاربری شما برای دسترسی به بانک اطلاعاتی.(میتوانید از کاربر root استفاده کنید. البته این کار توصیه نمیشود.) password رمز عبور مربوط به نام کاربری شما. شی com توانایی اجرای دستورات sql رو به ما میده. با استفاده از خاصیت CommandText این شی میتونید دستورات sql رو روی بانک اعمال کنید. شی da انتقال اطلاعات به ds رو به عهده داره. شی combldr دستورات Insert ، Update و ... را برای da میسازه. شی ds جداول رو برای ما نگهداری میکنه. نسبت جدول ها و ds مثل کاغذ است با پوشه. همانطور که یک پوشه می تواند حاوی چند کاغذ باشد، Dataset هم می تواند حاوی چند جدول باشد. خط da.Fill(ds, "Users"); باعث انتقال اطلاعات جدول به ds می شود. دو خط پایانی نیز وظیفه اتصال ds به DataGridView را دارن RE: اتصال به sql server - Amin_Mansouri - 05-09-2012 جهت ارتباط با بانک اطلاعاتی My Sql در سی شارپ 2 روش عمومی وجود دارد. 1-استفاده از کانکشن ODBC که این کار به وسیله برنامه mysql-connector-odbc-5.00.11-beta-gpl-win32(2).msi که از سایت MySql دانلود می شود امکان پذیر می باشد. 2-استفاده از mysql.data.dll که این روش که مورد بحث این جلسه است . روش کار :ابتدا برنامه mysql-connector-net-1.0.9 را از سایت mysql دانلود و بر روی کامپیوتر خود نصب کنید در مرحله دوم در قسمت Add Reference تابع کتابخانه ای mysql.data.dll را از مسیر C:\Program Files\MySQL\MySQL Connector Net 1.0.9\Binaries\.NET 1.1 در برنامه خود اضافه می کنیم در مرحله سوم namespace مربوطه با نام MySql.Data.MySqlClient را وارد صفحه می کنیم . using MySql.Data.MySqlClient در مرحله چهارم کدهای ارتباطی با mysql را به شرح زیر می آوریم اساس کار از این به بعد دقیقا شبیه ارتباط با microsoft sql می باشد. string myconstring = "Server=localhost; UserId=root; Password=pass; Database=repair;"; MySqlConnection mycon = new MySqlConnection(); mycon.ConnectionString = myconstring; MySqlDataAdapter myda = new MySqlDataAdapter("SELECT * FROM Customers", mycon); DataSet myds = new DataSet(); mycon.Open(); myda.Fill(myds,"Customers"); mycon.Close(); dataGrid1.DataSource=myds در مثال بالا یک دیتا گرید را از جدول Customer بانک اطلاعاتی Repair موجود در دیتابیس MySql پر کرده ایم. RE: اتصال به sql server - Ghoghnus - 05-09-2012 ایمن جان من میگم اس کیو ال سرور!مای اس کیو ال بدردم نمیخوره RE: اتصال به sql server - Amin_Mansouri - 05-09-2012 میدونم یه سمپل Sql گذاشتم. کلا نحوه وصل شذن به دیتابیس بود. الان سی شارپ ندارم تست کنم اما کار شما یه جاش ایراد داره |