更新 3:
由于没有人按照@Timen的建议回答我的第一个问题,我尝试使用SQL SERVER身份验证
我启用了SQL Authentication
到SQL SERVER MANAGEMENT STUDIO
并启用了sa
并为其设置了一个简单的密码。(在。\ sqlexpress下)。
我可以通过sa
及SQL SERVER MANAGEMENT STUDIO
的密码成功登录数据库,但是当我尝试从我的应用程序执行此操作时,它会失败并显示以下错误消息:
无法打开登录请求的数据库“dbNegin”。登录失败。 用户'sa'登录失败。
我需要说我将数据库所有者更改为sa,但我收到此错误! 我现在该如何解决这个问题? :( 顺便说一下,这是我的应用程序中用于连接数据库的连接字符串:
string sqlconstring = @“Data Source =。\ sqlexpress; User ID = sa; Password = 123456; Initial Catalog = dbNegin”;
我的数据库是通过这种方式附加的(它位于下面的地址中)
d:\ TESTDB \调试\ dbNegin.mdf
这是SQL错误日志:
2013-02-25 21:51:20.80 spid51 Starting up database 'C:\USERS\FRIEND\DESKTOP\RELEASE\DBNEGIN.MDF'.
2013-02-25 21:51:21.33 spid51 Starting up database 'mytestdb'.
2013-02-25 21:51:21.60 spid51 Starting up database 'C:\USERS\FRIEND\DESKTOP\RELEASE\DBNEGIN.MDF'.
2013-02-25 21:51:35.60 Logon Error: 18456, Severity: 14, State: 38.
2013-02-25 21:51:35.60 Logon Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
2013-02-25 22:11:00.79 Server Server resumed execution after being idle 246 seconds: user activity awakened the server. This is an informational message only. No user action is required.
2013-02-25 22:11:00.97 spid51 Attempting to load library 'xplog70.dll' into memory. This is an informational message only. No user action is required.
2013-02-25 22:11:01.04 spid51 Using 'xplog70.dll' version '2007.100.1600' to execute extended stored procedure 'xp_msver'. This is an informational message only; no user action is required.
2013-02-25 22:57:29.06 spid53 Starting up database 'C:\USERS\FRIEND\DESKTOP\RELEASE\DBNEGIN.MDF'.
2013-02-25 22:58:40.51 Logon Error: 18456, Severity: 14, State: 38.
2013-02-25 22:58:40.51 Logon Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
2013-02-25 23:07:09.86 Logon Error: 18456, Severity: 14, State: 38.
2013-02-25 23:07:09.86 Logon Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
2013-02-25 23:07:16.37 Logon Error: 18456, Severity: 14, State: 38.
2013-02-25 23:07:16.37 Logon Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
旧问题 我试图以两种模式连接到数据库(在我的系统上,数据库位于SQLSERVER Data子文件夹下,而在我的客户系统中,我希望它在我的可执行文件旁边。为此,我有两个连接字符串,一个用于我自己的系统是:
“Data Source =。\ SQLExpress; Initial Catalog = dbNegin; Integrated Security = True”
一个用于客户机器:
“数据源=。\ SQLExpress; AttachDbFilename = C:\ Users \ Master \ Documents \ Visual Studio 2010 \ Projects \ ProjectNegin \ ProjectNegin \ bin \ Debug \ dbNegin.mdf; Integrated Security = True; Connect Timeout = 30;用户实例=真“
,问题是我试图在我的系统上测试第二个场景,我将最新的数据库放在我的可执行文件旁边并更改了连接字符串并尝试运行应用程序,对于应用程序的某些部分,它连接到数据库并检索信息,但在其他一些情况下,它会因此错误而失败:
无法打开登录请求的数据库“dbNegin”。登录失败。 用户'Master-PC \ Master'登录失败。
Master-PC\Master
是我的电脑名称!我不记得在我的连接字符串中使用它并且不知道它来自何处以及如何摆脱它。甚至最糟糕的是,现在我的前连接字符串也因此错误而失败!!。
我需要这样说,在我尝试第二个连接字符串(可执行文件旁边的字符串)之前,我在SQLSERVER
DATA
子文件夹中重命名了数据库,这样我就不会错过任何东西,我可以仅通过atatchfile方法连接到数据库(以避免可能的连接到我的默认数据库连接字符串)
当我尝试使用我以前的连接字符串时,我将我的数据库重命名为其原始名称(我的意思是DATA子文件夹中的一个)。但我仍然得到这个错误。
我怎么解决这个问题 ?
UPDATE
:
当我尝试使用SQL SEVER MANAGEMENT STUDIO
查看我的数据库时,数据库读作:
(恢复待定......)
我无法做任何事情(因为它说它必须要么修复要么掉线了!我找不到修理菜单!)
UPDATE 2:
我尝试删除数据库表单Management Studio并重新附加它!从管理工作室中删除它后,形成数据库列表
现在我无法重新附加它我得到错误:
TITLE:Microsoft SQL Server Management Studio
无法检索此请求的数据。 (Microsoft.SqlServer.Management.Sdk.Sfc)
如需帮助,请点击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&LinkId=20476
------------------------------附加信息:
执行Transact-SQL语句时发生异常或 批量。 (Microsoft.SqlServer.ConnectionInfo)
CREATE FILE遇到操作系统错误5(无法检索 此错误的文字。原因:15105)在尝试打开或创建时 物理文件'C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ New folder \ dbNegin.mdf'。 (Microsoft SQL Server,错误:5123)
答案 0 :(得分:0)
如果您与客户之间使用LAN连接,请使用此连接字符串。
"Data Source=Master-PC\Master;;Initial Catalog=dbNegin;Integrated Security=True;Connect Timeout=30;User Instance=True"
或
"Data Source=Master-PC\Master\SQLExpress;Initial Catalog=dbNegin;Integrated Security=True;Connect Timeout=30;User Instance=True"
对于数据源,您还可以使用PC的IP地址。 这将有助于你。
答案 1 :(得分:0)
这个主题回答了我的问题:你可以在那里找到好的信息:
The Cause For This Problem And How to Solve It 。
这是ScreenShot页面:
答案 2 :(得分:-1)
而不是Windows身份验证尝试sqlserver身份验证模式....这可能适用于你..
答案 3 :(得分:-1)
仅更改连接字符串!!
Nooo
现在通过密码
浏览app.config生成新的连接字符串和数据库标识符如果更改连接字符串只是不起作用