views:

329

answers:

4

Hi all,

How to run database scripts(MySql db scripts) in c#.

Thanks, sirni.

+1  A: 

You need to open a connection to the database then create a command object and use the ExecuteNonQuery method (if you don't expect any result) or one of the other Execute... commands. Set the CommandText of the command object to the content of the script to execute.

One example here: http://database-programming.suite101.com/article.cfm/how_to_add_records_to_mysql_with_c

rslite
A: 

Fork a child process and execute the mysql command-line client, using the script as input.

It's tempting to try to read the script as a file and execute the SQL commands within it one by one, but there are numerous statements in an SQL script that can't be executed that way.

So you'd have to duplicate the code of the mysql client anyway in order to run an SQL script. Do yourself a favor and use the program that is already designed for that purpose.

Bill Karwin
please do not do that
BeowulfOF
That is not a good way of approaching the problem, as using the ODBC data connector to MySql from .NET is a much better idea, rather than doing it manually.
Maxim Zaslavsky
+1  A: 

You can connect to mysql with c# via odbc:

http://dev.mysql.com/doc/refman/5.0/fr/odbc-net-op-c-sharp-cp.html

BeowulfOF
+1  A: 

MySQL Connector for .NET:

http://dev.mysql.com/downloads/connector/net/

Jim Schubert