PDA

View Full Version : سوال: Select از SQL Server و Insert در MySql



computer-mag
شنبه 02 فروردین 1393, 17:58 عصر
سلام و خسته نباشید دوستان عزیز من می خواستم ببینم چجوری می تونم یک سری دیتاها را از SQL Server بخونم(که این قسمت رو مشکلی ندارم) و اون دیتاهارو توی Mysql خودم که با WampServer نصب شده اینسرت کنم(اتصال و اینسرت در MySql مشکل من هست) البته مشخص هست که این کارو با سی شارپ می خوام انجام بدم مرسی از راهنماییتون پیشاپیش

anotheruser
یک شنبه 03 فروردین 1393, 09:46 صبح
ابتدا دات نت اسمبلی MySqlConnector.Net رو دانلود و Add کنین ،

حال اگر به فرض فایل DAL مون کلاسی به شکل زیر داشته باشیم :



public class Dal
{
private SqlConnection conn = new SqlConnection("Server=removed,1430;Database=removed;User ID=removed;Password=removed;Trusted_Connection=Fal se;");
private SqlCommand cmd = new SqlCommand();
private SqlDataAdapter adap = new SqlDataAdapter();
private SqlDataReader dr;


public SqlDataReader Dr
{
get { return dr; }
set { dr = value; }
}

public SqlDataAdapter Adap
{
get { return adap; }
set { adap = value; }
}

public SqlCommand Cmd
{
get { return cmd; }
set { cmd = value; }
}

public SqlConnection Conn
{
get { return conn; }
set { conn = value; }
}

}


برا MySql کافی هست اون رو به این شکل تغییر بدیم:

// using MySql.Data.MySqlClient

public class Dal
{
private MySqlConnection conn = new MySqlConnection("server={localhost};user id={root}; password={}; database=db_blog; pooling=false"");
private MySqlCommand cmd = new MySqlCommand();
private MySqlDataAdapter adap = new MySqlDataAdapter();
private MySqlDataReader dr;


public MySqlDataReader Dr
{
get { return dr; }
set { dr = value; }
}

public MySqlDataAdapter Adap
{
get { return adap; }
set { adap = value; }
}

public MySqlCommand Cmd
{
get { return cmd; }
set { cmd = value; }
}

public MySqlConnection Conn
{
get { return conn; }
set { conn = value; }
}

}

computer-mag
یک شنبه 03 فروردین 1393, 16:33 عصر
مرسی از راهنماییت من کانکشن خودم رو تو این کلاس میسازم که به شکل زیر هست ولی ارروری که زیرش میزارم رو بهم میگیره من من مای اس کیو ال روی پورت 8080 ران دارم و اس کیور سرور روی پورت 80


class MySqlDataAccessLayer
{
private MySqlConnection con;
private MySqlCommand cmd;
private MySqlDataAdapter da;
private MySqlDataReader dr;


public MySqlDataAccessLayer()
{
con = new MySqlConnection();
cmd = new MySqlCommand();
da = new MySqlDataAdapter();

cmd.Connection = con;
da.SelectCommand = cmd;
}

public void Connect()
{
MySqlConnectionStringBuilder conn_string = new MySqlConnectionStringBuilder();
conn_string.Server = "localhost";
conn_string.Port = 8080;
conn_string.UserID = "root";
conn_string.Password = "";
conn_string.Pooling = false;
conn_string.Database = "testdb";
con.ConnectionString = conn_string.ToString();
con.Open();
}
public void DisConnect()
{
con.Close();
}
/// <summary>
///
/// </summary>
/// <param name="command">دستور sql</param>
public void DoCommand(string command)
{
Connect();
cmd.Parameters.Clear();

cmd.CommandText = command;
//cmd.CommandType = MySqlCommand.Text;
cmd.ExecuteNonQuery();
DisConnect();
}
}




ارور:



n unhandled exception of type 'System.TimeoutException' occurred in MySql.Data.dll

Additional information: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

anotheruser
یک شنبه 03 فروردین 1393, 18:05 عصر
جواب سوالت رو بلد نیستم یا راستش الان خستم شما اروری رو که گرفتی تو نت سرچ بکن، ولی یه توصیه بهت دارم ، من اگر می تونی از Access واگر کافی نیست از MSSQL استفاده بکن ، من تقریبا یسال پیش یه پروژه Asp.Net رو با MySql پیاده کردم فقط واسه اینکه ارزون در بیاد،اوایل کار خوب پیش می رفت ولی بعد هی به ارور برخوردم و گاها نتونستم حلشون کنم و تو فرومای خارجیم کی نتونستم راهنماییم کنه این بود که به غلط کردن افتادم و رفتم سراغ همون MSSQL ، قابل ذکر اینکه من سالها با PHP & MySql کار کردم و مشکلی نداشتم منتها باز لازم میدونم بهت بگم که دردسرای مذکور ممکنه از بیسوادی خود من باشه ولی گفتم بهت بگم بد نیست..