我正在尝试通过C#创建数据库而不使用SMO,这可能吗?!我现在已经得到了这个,但我99%这是错的;
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的情况下执行此操作吗?!
答案 0 :(得分:1)
您必须像在示例中那样使用MySqlCommand。
MySqlCommand cmd = new MySqlCommand("CREATE DATABASE YAYNEWDATABASE;", connection2);
connection2.Open();
cmd.ExecuteNonQuery();
connection2.Close();
或者,如果您要进行大量修改,我建议您尝试使用Manatee之类的工具来处理数据库创建/迁移,这是构建脚本的一部分。这对你正在做的事情做了很多假设,但要注意它并没有什么坏处。
这会将迁移类似于rails中的迁移添加到.net。
{
up: "CREATE TABLE Orders (ID {pk}, OrderNumber {string} NOT NULL, SubTotal {money})",
down: "DROP TABLE Orders"
}
答案 1 :(得分:0)
您可以使用以下内容:
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功能。