有没有办法在MYSQL中创建数据库,而不使用SMO在C#
问题描述:
我试图通过C#创建一个数据库,而不使用SMO,这有可能吗?!我目前有这个,但我99%是错的;有没有办法在MYSQL中创建数据库,而不使用SMO在C#
connectionString2 = "SERVER=" + server + ";" + "DATABASE=master;"
+ "UID=" + uid + ";" + "PASSWORD=" + password + ";"
this.OpenConnection(); //Which opens the above connection
// The Lines array has stored the sql statements to create the databse
// and tables for that database
foreach (string line in lines)
{
create_database += line;
}
MySqlCommand cmd = new MySqlCommand(create_database, connection2);
cmd.ExecuteNonQuery();
实际上是否可以在不使用SMO的情况下做到这一点?
答
您必须像在示例中那样使用MySqlCommand。
MySqlCommand cmd = new MySqlCommand("CREATE DATABASE YAYNEWDATABASE;", connection2);
connection2.Open();
cmd.ExecuteNonQuery();
connection2.Close();
另外,如果你打算做大量的修改,我建议尝试像Manatee的工具来处理你的数据库创建/迁移作为构建脚本的一部分。这对你正在做的事情做了很多假设,但是知道它并没有什么坏处。
这增加了类似于轨道到.net的迁移。
{
up: "CREATE TABLE Orders (ID {pk}, OrderNumber {string} NOT NULL, SubTotal {money})",
down: "DROP TABLE Orders"
}
答
你可能会使用这样的:
var connection = new MySqlConnection("Data Source=server;UserId=root;PWD=pass;");
var command = new MySqlCommand("CREATE DATABASE FancyDatabase;", connection);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
注:没有默认的数据库,你需要拥有的权利。并且:这是未经测试的代码,使用标准的sql功能。
不确定你在说什么类型的数据库服务器。 SMO是MSSQL,但MySsqlCommand是MySQL ... – Sascha 2012-03-13 18:25:53
对不起,Sascha,标题错误! – r0bb077 2012-03-13 18:29:01
删除我MSSQL的答案 – Sascha 2012-03-13 18:31:35