asp.net网站用express 2005出现“检索用户的本地应用程序数据路径时出错”

彷徨在海上 2009-10-20 09:24:11
我在windows 2008 r2(64位)+vs2008+iis7.0+express 2005环境下开发asp.net网站,在vs2008环境下测试正常,但是通过浏览器地址栏录入地址浏览出现以下信息:
由于检索用户的本地应用程序数据路径时出错,导致无法生成 SQL Server 的用户实例。请确保该用户在此计算机上有本地用户配置文件。该连接将关闭。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 由于检索用户的本地应用程序数据路径时出错,导致无法生成 SQL Server 的用户实例。请确保该用户在此计算机上有本地用户配置文件。该连

接将关闭。

从网上查了很长时间也没找到解决的途径,哪位高手能指点一下啊?
...全文
2018 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
屌丝女士111 2009-10-23
  • 打赏
  • 举报
回复
帮忙订下 虽然不知道什么原因
TalesTen 2009-10-23
  • 打赏
  • 举报
回复
帮顶个~
gongsun 2009-10-23
  • 打赏
  • 举报
回复
唉...别用express...
guyehanxinlei 2009-10-23
  • 打赏
  • 举报
回复
UP
camperer 2009-10-23
  • 打赏
  • 举报
回复
确实不需要这么麻烦,windows集成登录方式是可以的,Express版本的都这么连,不需要另外装ssms express。
你关闭掉用户实例(连接字符串中User Instance=false)试试。

MSDN有这样的说法。
[Quote=引用自MSDN:]
注意
当您与 User Instance 设置为 true 的连接字符串进行连接时,SQL Server Express 版只允许有单个连接连到 .mdf 文件。

...

用户实例
SQL Server Express 版支持用户实例,这意味着系统将为连接到 SQL Server Express 版数据库的每个用户启动一个新进程。进程的标识将为打开该连接的用户。有关如何确定 ASP.NET 应用程序标识的信息,请参见 ASP.NET 模拟。

虽然启用用户实例适合于桌面开发,但是启动辅助进程不适合为多个客户托管站点的 Web 服务器,在这种情况下,必须分离应用程序并进行安全保护。使用相同进程标识运行的 ASP.NET 应用程序可以连接到同一个用户实例。由于在 Windows 2000 和 Windows XP Professional 上,所有 ASP.NET 应用程序都使用相同的进程标识(默认为本地 ASPNET 帐户)运行,而在 Windows Server 2003 上,同一应用程序池中的 ASP.NET 应用程序也使用相同的进程标识(默认为 NETWORK SERVICE 帐户)运行,因此包含互不信任的应用程序的托管服务器应该显式禁用用户实例。通过连接到 SQL Server Express 版实例(例如,通过在命令提示符处发出以下命令:osql –E –S .\SQLEXPRESS)并发出以下 Transact-SQL 命令,可关闭此功能。

EXEC sp_configure 'show advanced option', '1'
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'user instances enabled', 0
GO
RECONFIGURE WITH OVERRIDE
GO
[/Quote]

http://msdn.microsoft.com/zh-cn/library/ms228037(VS.80).aspx
彷徨在海上 2009-10-21
  • 打赏
  • 举报
回复
我改成sa用户登录,现在可以了,但是系统有自己又建了个新数据库,我不是很明白。安装SQL Server Management Studio Express,把sql express 2005更改为可以使用sa用户登录,可以解决这个问题。但windows 2003不需要的系统不需要这么麻烦的。
alan0128 2009-10-21
  • 打赏
  • 举报
回复
SQL验证方式???
彷徨在海上 2009-10-21
  • 打赏
  • 举报
回复

改用sa账户就没问题了,不理解
camperer 2009-10-20
  • 打赏
  • 举报
回复
如果只装有express的话就只有Data Source=".\SQLEXPRESS;AttachDbFilename=..." 这种附加方式了

你再检查一遍这个连接字符串对不对,
彷徨在海上 2009-10-20
  • 打赏
  • 举报
回复


http://bbs.zidonghua.com.cn/attachment/48_65629_f6696ab2ccfa5d9.png



http://bbs.zidonghua.com.cn/attachment/48_65629_969a58b9ba678a8.png
彷徨在海上 2009-10-20
  • 打赏
  • 举报
回复
数据库我用的是sql express 2005
wuyq11 2009-10-20
  • 打赏
  • 举报
回复
<add name="ConnectionString" connectionString="Database=master;Server=(local);Integrated Security=SSPI;uid=sa;pwd=sa;" providerName="System.Data.SqlClient"/>
wuyq11 2009-10-20
  • 打赏
  • 举报
回复
字符串问题
Data Source=".\SQLEXPRESS;AttachDbFilename=|DataDirectory|Test.mdf;Integrated Security=True;User Instance=false"
net项目默认的数据库是SQLEXPRESS,如果用的是其它版本数据库需要在项目创建之初就把这些连接字符串都设置好才行,或者是本地机安装的是SQLEXPRESS
把数据库注册为其他数据库
<add name="ConnectionString" connectionString="Data Source=(local);Initial Catalog=master;User ID=;Pwd=sa"/>

elivenet 2009-10-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jxyxhz 的回复:]
路径不对,先把Access改成绝对路径试试。

记得不要/adm/123.mdb开头的。
~/adm/123.mdb
[/Quote]
他好像用的是SQL不是Access啊!我也烦恼中,没装2005,总连接2005,不知在哪改成SQL2000
a19895161989516 2009-10-20
  • 打赏
  • 举报
回复
恭喜
小_虎 2009-10-20
  • 打赏
  • 举报
回复
路径不对,先把Access改成绝对路径试试。

记得不要/adm/123.mdb开头的。
~/adm/123.mdb
ch219888 2009-10-20
  • 打赏
  • 举报
回复
路过 顶个

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧