在C#中用SQLDMO创建SQL数据库

导读:
  ///
  /// 创建数据库。
  ///

  /// 表示要连接的服务器名
  /// 指定要创建的数据库名
  private string CreateDB(string srvName, string dbName)
  {
  SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
  SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
  srv.Connect(srvName, "sa", "");
  // 新建数据库名(包括路径)
  string dbPath = srv.Registry.SQLDataRoot + "//DATA//" + dbName;
  bool DBExist = false;
  foreach (SQLDMO.Database db in srv.Databases)
  {
  if (db.Name == dbName)
  {
  DBExist = true;
  }
  }
  //函数返回结果
  string rvCDB;
  if (DBExist)
  {
  rvCDB = "此数据库存名已存在请选择其它名称";
  srv.Close();
  sqlApp.Quit();
  return rvCDB;
  }
  else
  rvCDB = "成功创建数据库!";
  SQLDMO.Database nDB = new SQLDMO.Database();
  SQLDMO.DBFile nDBFile = new SQLDMO.DBFile();
  SQLDMO.LogFile nLogFile = new SQLDMO.LogFile();
  nDB.Name = dbName;
  nDBFile.Name = dbName + "file";
  nDBFile.PhysicalName = dbPath + "_Data.mdf";
  nDBFile.PrimaryFile = true;
  nDBFile.FileGrowthType = 0;
  nDBFile.FileGrowth = 1;
  nDB.FileGroups.Item("primary").DBFiles.Add(nDBFile);
  nLogFile.Name = dbName + "log";
  nLogFile.PhysicalName = dbPath + "_Log.ldf";
  nDB.TransactionLog.LogFiles.Add(nLogFile);
  srv.Databases.Add(nDB);
  srv.Close();
  sqlApp.Quit();
  return rvCDB;
  }
  SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
  SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
  srv.Connect("servername", "username", "password");
  SQLDMO.Database nDB = new SQLDMO.Database();
  SQLDMO.DBFile nDBFile = new SQLDMO.DBFile();
  SQLDMO.LogFile nLogFile = new SQLDMO.LogFile();
  nDB.Name = "tmpdb"; //数据库名
  nDBFile.Name = "tmpfile"; //数据库文件名
  nDBFile.PhysicalName = @"e:/temp/tmp.mdf"; //数据库文件在硬盘上存储的实际名称
  nDBFile.PrimaryFile = true;
  nDBFile.FileGrowthType = 0;
  nDBFile.FileGrowth = 1;
  nDB.FileGroups.Item("primary").DBFiles.Add(nDBFile);
  nLogFile.Name = "tmplg";
  nLogFile.PhysicalName = @"e:/temp/tmp.ldf";
  nDB.TransactionLog.LogFiles.Add(nLogFile);
  srv.Databases.Add(nDB);
  srv.Close();
  sqlApp.Quit();

本文转自
http://143277.blog.51cto.com/133277/24711
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sql server sqldmo_x86_x64,C#数据库备份还原很好用的.dll,里面有使用方法,引用Interop.SQLDMO.dll后的注意事项。 SQLDMO.dll是个好东西,ASP.NET利用它可以实现在线备份、还原数据库等各种功能。近日有客户要求为其在后台添加一个管理数据库的功能。于是就出现了这篇文章。 由于客户的数据库和WEB服务不再同一台服务器,当我们把网站部署在服务器上以后,运行程序,提示如下错误: Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154. 而客户又不想在这台电脑安装MSSQL,所以我们只需要在没有安装MSSQL的电脑上注册SQLDMO.DLL组件。 第一步:首先将msvcr71.dll, SQLDMO.DLL, Resources\2052\sqldmo.rll,Resources\1033\sqldmo.rll 拷贝到C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录。 下载SQLDMO文件 第二步:打开开始,在运行中输入 regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll" 注册sqldmo.dll。 正常情况下,经过以上两个步骤,网页就应该可以访问了的。 但是我们经过以上两次操作后,访问网页依然提示如下错误: Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80070005.后经过一段时间的检查,我们发现C:\Program Files\文件夹仅有Administrator和System的控制权限,而没有其他任何用户的权限,因此我们为Microsoft SQL Server文件夹增加上Network Service 的读取权限。 至此,问题得到解决!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值