【发布时间】:2013-11-23 15:32:59
【问题描述】:
我已经制作了一个 c# 程序来在 localhost ms sql 中创建一个数据库,如下所示:
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "SERVER = " + serverName + "; DATABASE = master; Integrated Security=SSPI";
string query = " CREATE DATABASE " + dbName + " ON PRIMARY "
+ " (NAME = " + dataFileName + ", "
+ " FILENAME = '" + schemaPath + "', "
+ " SIZE = 2MB,"
+ " FILEGROWTH = 10%) "
+ " LOG ON (NAME =" + logFileName + ", "
+ " FILENAME = '" + logFilePath + "', "
+ " SIZE = 1MB, "
+ " FILEGROWTH = 10%) ";
try
{
conn.Open();
SqlCommand sqlCmd = new SqlCommand(query, conn);
sqlCmd.ExecuteNonQuery();
Console.WriteLine("Database has been created successfully!");
}
catch (System.Exception ex)
{
Console.WriteLine("Failed to create the db. " + ex.ToString());
Environment.Exit(1);
}
它在我的电脑上运行良好,但在另一台机器上失败: 我确实拥有对我指定的文件夹的写入权限。
创建数据库失败。 System.Data.SqlClient.SqlException (0x80131904):文件的目录查找 "C:\Users\Administrator\Desktop\test2.mdf" 操作失败 系统错误 5(访问被拒绝。)。创建数据库失败。一些文件 无法创建列出的名称。检查相关错误。在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常, 布尔中断连接)在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler、SqlDataReader 数据流、 BulkCopySimpleResultSet bulkCopyHandler, Tds ParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(字符串 方法名,布尔异步)在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult 结果,字符串方法名称,布尔值 sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 com.appneta.test.DB_DataLoader.createDB(String dbName)
有什么想法吗?
【问题讨论】:
-
我也遇到了同样的问题,问题有进展了吗?
标签: sql sql-server