RT 我之前一直用的是 VS2015 自带的 SQL server 本地数据库,验证方式是 windows 身份验证 现在准备把部署本地 IIS 上, IIS 貌似不支持 windows 身份验证连接数据库,但我在 VS 上修改的数据库连接就会报错 求助怎么解决这个问题?
![]() |
1
bdbai 2016-05-15 09:18:10 +08:00 via Android ![]() 检查一下 Debug 和 Release 两个版本的 Web.config 中连接字符串有没有出入?
|
![]() |
6
bdbai 2016-05-15 09:48:51 +08:00 via Android ![]() |
![]() |
9
jeansfish 2016-05-15 10:27:15 +08:00 ![]() Integrated Security=True 改成 false 或者删掉,如果你要用用户名密码的话
|
![]() |
11
andrewpsy 2016-05-15 10:47:20 +08:00 ![]() 要不用 userid+password 要不用 integrated security, 两个一起用是怎么个意思。
|
![]() |
12
CBBing OP |
![]() |
14
andrewpsy 2016-05-15 10:51:57 +08:00 ![]() @CBBing 你是什么版本的 MSQL ?我从来没见过 AttachDbFilename 。
你把 DataSouce 拆开变成: DataSource=(localdb);initial category=mssqllocaldb 然后去掉 AttachDbFilename 试试。 |
![]() |
16
andrewpsy 2016-05-15 10:55:46 +08:00 ![]() 你是了这个没有?
<add name="AccountsContext" connectionString="Data Source=(LocalDb);Initial Category=MSSQLLocalDB;UserID=sa;Password=CBB123xyz" providerName="System.Data.SqlClient"/> |
![]() |
21
beginor 2016-05-15 11:13:18 +08:00 via Android ![]() IIS 的话需要修改应用程序池账户,默认的程序池账户权限太低,,话说 localdb 的性能没得说,就是有限制数据文件大小和网络访问
|
![]() |
23
beginor 2016-05-15 11:21:32 +08:00 via Android ![]() |
![]() |
28
qiyuey 2016-05-15 11:51:24 +08:00 via Android ![]() 用专门的数据库服务器,不要用 localDb
|
![]() |
30
qiyuey 2016-05-15 11:55:17 +08:00 via Android ![]() @CBBing 数据量不大就直接导出 localDb 到 SQL 文件,然后再导入 Sql Server 里
|
![]() |
31
jeansfish 2016-05-15 11:56:38 +08:00 ![]() |
![]() |
32
jeansfish 2016-05-15 11:56:50 +08:00 ![]() 这个呢?
|
![]() |
34
jeansfish 2016-05-15 12:09:01 +08:00 ![]() Google 搜 IIS localdb 第一个就是这个
|
![]() |
35
andrewpsy 2016-05-15 12:15:02 +08:00 ![]() @CBBing 我不甘心开了虚拟机用 VS2015 自己试了一下,以下:
0. 打开 VS2015 的 Sql Server Object Explorer 1. 展开 (localdb)\MSSQLLocalDB 2. 右键点击你的数据库,菜单里找到“ new query ”点击,输入以下三句后点击“ execute ” CREATE LOGIN [CBBing] WITH PASSWORD = 'CBB123xyz'; CREATE USER [CBBing] FOR LOGIN [CBBing]; exec sp_addrolemember 'db_owner', 'CBBing' 4. 把 connectionstring 改成:<add name="AccountsContext" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=E:\CNSOFT\MVCDEMO\MVCDEMO\APP_DATA\ACCOUNTS.MDF;UserID=CBBing;Password=CBB123xyz" providerName="System.Data.SqlClient"/> |
![]() |
37
jsq2627 2016-05-15 19:50:31 +08:00 ![]() 最好不要在完整 IIS 下用 LocalDB ,问题比较多
https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/ https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-2-instance-ownership/ 要不就 IIS Express + LocalDB ,要不 IIS + SQL Server Express 。 LocalDB 本来就是特意为 IIS Express 设计的。 |