2015-03-19 103 views
0

我们将数据库PStorage附加到服务器。Vb.Net&SQL Server Express:创建用户登录抛出错误

然后我尝试使用下面的代码来创建登录&用户:

Dim con As New SqlConnection 
Dim query As SqlCommand 

con.ConnectionString = "Server=(LocalHost);Data Source=LocalHost\SQLEXPRESS;Database=PSTORAGE;Integrated Security=TRUE" 

con.Open() 

query.CommandText = "IF NOT EXISTS(SELECT [LoginName] FROM MASTER.DBO.SYSLOGINS WHERE [Name]='UserCP') CREATE LOGIN UserCP WITH PASSWORD='CPPassword'" 

query.ExecuteNonQuery() 
query.Dispose() 

query.CommandText = "IF NOT EXISTS(SELECT [Name] FROM SYS.DATABASE_PRINCIPALS WHERE [Name]='CPUser') CREATE USER CPUser FOR LOGIN UserCP" 

query.ExecuteNonQuery() 'This line is throwing the error -> Login Failed for the User 'UserCP'. 
query.Dispose() 

我们正在执行的第二个查询后得到的错误是

登录失败,用户“UserCP”

在附加数据库时发生同样的错误。然后我们不得不使用sqlCmd

在所有的系统中这种方法工作正常。但在我们的一个客户系统中会出现这个问题。可能是什么原因?

回答

0

经过大量的尝试,我们可以知道文件夹是压缩的[所有的文件名都是蓝色的]。由于数据库文件位于压缩文件夹内,因此完全无法对这些操作进行操作。

  1. 右键单击数据库文件夹,按属性
  2. 出版社高级
  3. 勾去掉压缩内容以便节省磁盘空间
  4. 保存所做的更改
相关问题