如何使用代码行在Sql Server 2008 Express中创建数据库

时间:2012-07-11 14:59:53

标签: sql-server-2008-express

我在C#Project(WinForm)上工作

我在客户端PC上安装Sql Server 2008 Express。

在我的程序开始中

必须创建一个数据库。所以我使用此代码创建数据库:

string sqlCreateDBQuery;

            SqlConnection tmpConn = new SqlConnection(@"SERVER =.\SQLEXPRESS; Trusted_Connection = yes;DATABASE = master;");

            sqlCreateDBQuery = " CREATE DATABASE "
                               + DatabaseName
                               + " ON PRIMARY "
                               + " (NAME = " + DatabaseName + ", "
                               + " FILENAME = '" + @"C:" + @"\" + DatabaseName + ".mdf" + "', "
                               + " SIZE = 3MB,"
                               + " FILEGROWTH = " + "10%" + ") "
                               + " LOG ON (NAME =" + "MyDatabase_Log" + ", "
                               + " FILENAME = '" + @"C:" + @"\" + DatabaseName + "_log.ldf" + "', "
                               + " SIZE = 1MB, "
                               + " FILEGROWTH = " + "10%" + ") ";
            sqlCreateDBQuery = Coomand;

            SqlCommand myCommand = new SqlCommand(sqlCreateDBQuery, tmpConn);
            try
            {
                tmpConn.Open();
                MessageBox.Show(sqlCreateDBQuery);
                myCommand.ExecuteNonQuery();
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                tmpConn.Close();
            }
            return;

但当我的程序运行时,我看到以下错误

enter image description here

我的问题是什么?

1 个答案:

答案 0 :(得分:0)

从错误消息中可以看出,您无权在根目录上创建mdf文件。说实话,你不应该把它放在那里,因为那太暴露了。将它放在应用程序的文件夹中,或隐藏在不会被意外删除的地方。

我还认为您应该将其作为初始设置的安装脚本运行,而不是在代码中运行。我是尽可能多地保持sql代码的主要支持者,但是对于他自己的代码。您说您设置了SQL Server数据库,您应该使用您可以使用的工具来使您更轻松。我有一本来自Wrox的书很好地为我服务,这里是链接:http://www.wrox.com/WileyCDA/WroxTitle/Wrox-s-SQL-Server-2005-Express-Edition-Starter-Kit.productCd-0764589237.html - 亚马逊有2美元 - http://www.amazon.com/Server-Express-Edition-Starter-Programmer/dp/B006TQYC8U/ref=sr_1_1?ie=UTF8&qid=1342019983&sr=8-1&keywords=Wrox%27s+SQL+Server+2005+Express+Edition+Starter+Kit

此外:

http://msdn.microsoft.com/en-us/library/bb264562(v=sql.90).aspx