如何自动连接数据库?

时间:2016-10-21 15:42:23

标签: c# sql-server

我有Visual Studio 2013,SQL Server 2014 Express,我无法使用ASP.NET MVC项目中的web.config连接到数据库。

我的服务器名称为MySqlExpress

我使用了这个连接字符串

<add name="Context"
     providerName="System.Data.SqlClient"
     connectionString="Data Source=.\MYSQLEXPRESS;AttachDbFileName=|DataDirectory|\test.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" />

并尝试了其他一些,但仍然得到了

  

错误50 - 本地数据库运行时错误。找不到LocalDB实例。服务器不可用或找不到

我自己设置服务器,具有集成安全性。

我的计算机上有一些其他SQL Server但是我无法通过web.config连接到它们,但我可以通过服务器资源管理器。

这是我的web.config,我使用Entity Framework +代码优先策略

<configuration>
    <configSections>
        <section name="entityFramework" 
                 type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
                 requirePermission="false" />
    </configSections>
    <connectionStrings>
        <add name="Context"
             providerName="System.Data.SqlClient"
             connectionString="Data Source=.\MYSQLEXPRESS;AttachDbFileName=|DataDirectory|\test.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" />
    </connectionStrings>
    <appSettings>
        <add key="webpages:Version" value="2.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="PreserveLoginUrl" value="true" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    </appSettings>
    <system.web>
        <httpRuntime targetFramework="4.5" />
        <compilation debug="true" targetFramework="4.5" />
        <authentication mode="Forms">
            <forms loginUrl="~/Account/Login" timeout="2880" />
        </authentication>
        <pages>
            <namespaces>
                <add namespace="System.Web.Helpers" />
                <add namespace="System.Web.Mvc" />
                <add namespace="System.Web.Mvc.Ajax" />
                <add namespace="System.Web.Mvc.Html" />
                <add namespace="System.Web.Optimization" />
                <add namespace="System.Web.Routing" />
                <add namespace="System.Web.WebPages" />
            </namespaces>
        </pages>
        <profile defaultProvider="DefaultProfileProvider">
            <providers>
                <add name="DefaultProfileProvider" 
                     type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
            </providers>
        </profile>
        <membership defaultProvider="DefaultMembershipProvider">
            <providers>
                <add name="DefaultMembershipProvider"  
                     type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
                     connectionStringName="DefaultConnection" 
                     enablePasswordRetrieval="false" 
                     enablePasswordReset="true" 
                     requiresQuestionAndAnswer="false" 
                     requiresUniqueEmail="false"  
                     maxInvalidPasswordAttempts="5" 
                     minRequiredPasswordLength="6" 
                     minRequiredNonalphanumericCharacters="0" 
                     passwordAttemptWindow="10" applicationName="/" />
            </providers>
        </membership>
        <roleManager defaultProvider="DefaultRoleProvider">
            <providers>
                <add name="DefaultRoleProvider" 
                     type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
                     connectionStringName="DefaultConnection" 
                     applicationName="/" />
            </providers>
        </roleManager>
        <sessionState mode="InProc" customProvider="DefaultSessionProvider">
            <providers>
                 <add name="DefaultSessionProvider" 
                      type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
                      connectionStringName="DefaultConnection" />
            </providers>
        </sessionState>
    </system.web>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
             <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
             <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
             <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

             <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" 
                  path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" 
                  modules="IsapiModule" 
                  scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" 
                  preCondition="classicMode,runtimeVersionv4.0,bitness32" 
                  responseBufferLimit="0" />
             <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" 
                  path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" 
                  modules="IsapiModule" 
                  scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" 
                  preCondition="classicMode,runtimeVersionv4.0,bitness64"  
                  responseBufferLimit="0" />
             <add name="ExtensionlessUrlHandler-Integrated-4.0" 
                  path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" 
                  type="System.Web.Handlers.TransferRequestHandler" 
                  preCondition="integratedMode,runtimeVersionv4.0" />
         </handlers>
      </system.webServer>
      <runtime>
          <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
               <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
               <bindingRedirect oldVersion="1.0.0.0-2.0.0.0"   newVersion="2.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
              <assemblyIdentity name="System.Web.Mvc" 
                                publicKeyToken="31bf3856ad364e35" />
                  <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
              <assemblyIdentity name="System.Web.WebPages"   publicKeyToken="31bf3856ad364e35" />
                  <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
              <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
              <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
              <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
              <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
          </dependentAssembly>
        </assemblyBinding>
    </runtime>
    <entityFramework>
        <contexts>
             <context type="test.Models.Context, test">
                 <databaseInitializer type="test.Models.ContextInitializer, test" />
             </context>
        </contexts>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
            <parameters>
                <parameter value="v13.0" />
            </parameters>
        </defaultConnectionFactory>
    </entityFramework>
</configuration>

1 个答案:

答案 0 :(得分:0)

打开SQL Server配置管理器(在“开始”菜单中搜索它)。单击SQL Server服务。 SQL Server的实例名称在括号内嵌SQL Server服务。如果它说MSSQLSERVER,那么它是默认实例。要在Management Studio中连接它,只需键入即可。 (点)或(本地),然后单击“连接”。如果实例名称不同,则使用。[实例名称]连接到它(例如,如果实例名称是SQL2008,则连接到。\ SQL2008)。