繁体   English   中英

使用C#远程创建数据库

[英]Creating a database remotely using C#

我试图通过使用Visual Studio 2008远程连接到SQL Server Express来创建数据库。我使用SQL身份验证登录到SQL Server。 我可以使用以下命令通过SQL Server Management Studio Express远程进行此操作:

CREATE DATABASE dbname ON(NAME ='dbname_dat',FILENAME ='C:\\ folder \\ dbname.mdf')LOG ON(NAME ='dbname_log',FILENAME ='C:\\ folder \\ dbname.ldf')

但是,当我在代码中使用同一行时,出现以下错误:

CREATE DATABASE权限在数据库“ master”中被拒绝。

错误号为262,类号为14。我的连接字符串为:

服务器=服务器名称;数据库=主服务器; trusted_connection =是;池=假;

有人可以帮忙吗?

好吧,错误消息告诉您什么地方不对,不是吗? 您用来通过C#登录的用户没有足够的权限执行CREATE语句。

您似乎使用其他用户通过SQL Server Management Studio登录,而不是通过C#登录。 您是否通过Windows身份验证和C#中的SQL Server身份验证登录到SQL Server? 还是在Management Studio中您选择了另一个数据库来执行sql语句? 检查该脚本使用的数据库的组合框。

这太明显了,但是请检查您对服务器的权限。 您是系统管理员还是dbcreator?

另外,请检查您的用户凭据。 您的连接字符串说“ trusted_connection=yes但是然后您说您正在使用SQL Server身份验证登录。 您是哪个,还是应该使用?

尝试将连接字符串修改为与此类似的内容(请注意用户和密码设置):

tmpConn.ConnectionString = "SERVER = " + DBParam.ServerName + "; DATABASE = master; User ID = sa; Pwd = sa";

sa帐户将有权执行此命令。

我建议您不要将凭据传递给数据库。 如果这是一个网站,则可能由于多种原因而发生:

  • 您没有启用模拟功能
  • 您已在IIS中打开基本身份验证。

有关设置集成安全性或切换到固定SQL Server帐户的详细说明,请参阅MSDN上有关如何使用Windows集成安全性访问SQL Server的文章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM