1

I am trying to publish my site on remote server. My hosting provider has provided my with dsn connectivity through dotnetpanel. When i publish my site i get the error as shown in screenshot. I have also included my web.config file. alt text

My web.config is as follows,

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    Note: As an alternative to hand editing this file you can use the 
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in 
    machine.config.comments usually located in 
    \Windows\Microsoft.Net\Framework\v2.x\Config 
-->
<configuration>

    <appSettings>       
            <add key="myDSN" value="evodsn"/>           
    </appSettings>
  <connectionStrings>
    <add name="evocon" connectionString="DSN=myDSN;" />

  </connectionStrings>

  <system.net>
    <mailSettings>
      <smtp>
        <network host="smtp.gmail.com" />
      </smtp>
    </mailSettings>
  </system.net>


    <system.web>
        <!-- 
            Set compilation debug="true" to insert debugging 
            symbols into the compiled page. Because this 
            affects performance, set this value to true only 
            during development.
    -->
    <httpHandlers>
      <!--<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>-->
      <add verb="*" path="TinyMCEHandler.aspx" type="Moxiecode.TinyMCE.Web.HttpHandler, Moxiecode.TinyMCE" validate="false" />
      <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
    </httpHandlers>

    <httpRuntime requestValidationMode="2.0" />



        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
                <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
                <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
                <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /></assemblies>
        </compilation>
        <!--
            The <authentication> section enables configuration 
            of the security authentication mode used by 
            ASP.NET to identify an incoming user. 
    -->
    <globalization uiCulture="en" culture="en-GB" />
        <authentication mode="Forms">
            <forms loginUrl="~/Account.mvc/index" timeout="2880" protection="All" />
        </authentication>
        <membership defaultProvider="evocon">
            <providers>
                <clear />

        <add
          name="evocon"
          type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
          connectionStringName="evocon"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="false"
           />


            </providers>
        </membership>
        <profile>
            <providers>
                <clear />
                <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" applicationName="/" />
            </providers>
        </profile>
        <roleManager enabled="false">
            <providers>
                <clear />
                <add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
                <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            </providers>
        </roleManager>
        <!--
            The <customErrors> section enables configuration 
            of what to do if/when an unhandled error occurs 
            during the execution of a request. Specifically, 
            it enables developers to configure html error pages 
            to be displayed in place of a error stack trace.-->

        <customErrors mode="Off">
            <error statusCode="403" redirect="NoAccess.htm"/>
            <error statusCode="404" redirect="FileNotFound.htm"/>
        </customErrors>

        <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
            <namespaces>
                <add namespace="System.Web.Mvc" />
                <add namespace="System.Web.Mvc.Ajax" />
                <add namespace="System.Web.Mvc.Html" />
                <add namespace="System.Web.Routing" />
                <add namespace="System.Linq" />
                <add namespace="System.Collections.Generic" />
                <add namespace="Telerik.Web.Mvc.UI" />
            </namespaces>
        </pages>

    </system.web>
    <!-- 
        The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0.  It is not necessary for previous version of IIS.
  -->
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
        </modules>
        <handlers>
            <remove name="MvcHttpHandler" />
            <remove name="UrlRoutingHandler" />
            <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        </handlers>
        <directoryBrowse enabled="false" />
        <defaultDocument>
            <files>
                <clear />
                <add value="Default.aspx" />
                <add value="Default.asp" />
                <add value="Default.php" />
                <add value="Default.htm" />
                <add value="Default.html" />
                <add value="Index.aspx" />
                <add value="Index.asp" />
                <add value="Index.php" />
                <add value="Index.htm" />
                <add value="Index.html" />
                <add value="parking.htm" />
            </files>
        </defaultDocument>
    </system.webServer>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>

  <location path="App_Data" allowOverride="false">
        <system.web>
            <authorization>
                <allow users="?" />
            </authorization>
        </system.web>
    </location>
</configuration>
Tassadaque
  • 8,129
  • 13
  • 57
  • 89
  • Oh no! The yellow screen of death! HIDE! I mean, is your site already in production? If so, it shouldn't display such messages to your users. –  Jan 09 '11 at 16:19

2 Answers2

8

From the Stack Trace it looks like you are using a SqlClient.SqlConnection object, but DSN is for ODBC connections.

You either change your connectioin string to use a Sql Server Connection String or change the connection object in your code to ODBCConnection.

Chandu
  • 81,493
  • 19
  • 133
  • 134
  • Yes i was previously using sqlclient connection but my host provider provided me with dsn. I haven't use dsn before in code. My site is asp.net mvc based could you please guide me further – Tassadaque Jan 09 '11 at 16:12
  • I would strongly recommend to check with your host provider to give direct access to SQL Server. If that is not possible then the only other option is to use ODBCConnection in your code. But please keep in mind that you might miss some features if you use ODBC layer that are otherwise available in SQLConnection. – Chandu Jan 09 '11 at 16:14
  • I asked him to give me direct access sql server. He gave me the following response. "You can connect to the database directly without setting up the ODBC entry. You may however need to change your MSSQL client from Enterprise Manager to SSMSE as the MSSQL version (MSSQL 2008) is not supported by Enterprise Manager" but i could't understand what he is trying to say – Tassadaque Jan 09 '11 at 16:18
  • What he says about is you being able to access the SQL Server. But the issue here is with the application being able to access the server. – Chandu Jan 09 '11 at 16:19
  • Hmm. I will try to convince him to provide me with sqlclient connection open in the mean time could you provide me some tutorial for the odbc connectivity in asp.net mvc web application. One more favor is greatly appreciated is could you provide me some good hosting provider reference who is providing me with sql client connection string – Tassadaque Jan 09 '11 at 16:26
  • This is example from MSDN: http://msdn.microsoft.com/en-us/library/dw70f090.aspx#_Odbc. Regarding the hosting providers. I used godaddy a while ago and it was good and I was able to access SQL Server. I will wait for other users to list some other hosting providers. – Chandu Jan 09 '11 at 16:29
  • One more thing please could you please tell some features that i may miss when i use odbc instead of sqlclinet – Tassadaque Jan 09 '11 at 16:49
  • I don't have anything offhand. Will provide some once I get hold off some. – Chandu Jan 09 '11 at 16:53
-2

See the connection strings website for a huge collection of valid connection string examples for the various databases and technologies.

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291