Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeGetting StartedGetting StartedInstalling DNN ...Installing DNN ...Database Install for 5.0 failsDatabase Install for 5.0 fails
Previous
 
Next
New Post
2/3/2010 11:03 AM
 

Hi there,

I'm trying to get dnn 5 to run on an hosted server. Unfortunately the database install wizard fails. My provider uses SQL Server 2005 Sp3 with SQL Server authentification. I can test the database connection successfully, when I hit next I get this Error:

Installing Database - Version 05.00.00...FAILURE ERROR: See D:\Web\HA\17\1724_yfd9a\zw35a3e1\data\Providers\DataProviders\SqlDataProvider\05.00.00.log for more information
I can't find a Logfile with that name, however the File InstallCommon.log (and several others contain this Message:

System.Data.SqlClient.SqlException: Cannot find the user 'sql_ha1724_a', because it does not exist or you do not have permission.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters)
   at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters)
   at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText)
   at DotNetNuke.Data.SqlDataProvider.GrantStoredProceduresPermission(String Permission, String LoginOrRole)

GRANT EXECUTE TO [sql_ha1724_a]

 

sql_ha1724_a is the name of my SQL Login and also the name of the Database (configured by profider - can't Change it)

The Provider says other customers sucessfully installed dnn, but he presumes they used earlier versions.

When I look in the db after the error (db was empty before) proc, views and tables have been created. The last table ist version, in my local test enviroment the WebServer table would be next.

Can anybody hazard a guess whats foul.

I'm glad for any help.

 

Florian

 

 
New Post
2/4/2010 6:21 AM
 

Hello Forum,

 

seems I found the solution myself. My Provider configured the Database with the same name as the Login. The Login was mapped to userid dbo in the database.

My first guess was that the Installer searches for the user named <Loginname> which does not exists - thats actually what the Errormessage states.

I got sidetrapped, but finally i managed to reproduce the error on my local enviroment.

I suggest this is a bug in the install routine, because the above described setup is the sql server default:

When you create a database with sql authentification the login you used will be mapped to the dbo UserId.

I try to get my Provider to give me anoter Sql Login for my database as a workaround - maybe i find the time to debug this problem and make a fix.

Best Florian

 
New Post
2/4/2010 5:00 PM
 

I debugged the problem and like to suggest a fix:

        Private Function GetConnectionStringUserID() As String   
            Dim DBUser As String = SqlHelper.ExecuteScalar(UpgradeConnectionString, CommandType.Text, "Select User").ToString()
            Return DBUser
        End Function

The method is locaded in the class SqlDataProvider

The original implementation parses the Connection string - but the Connection string contains the LoginName not the UserID.

I implemented the fix and sucessfully installed the Portal in my hosting account.

Cheers Florian

 

 
Previous
 
Next
HomeHomeGetting StartedGetting StartedInstalling DNN ...Installing DNN ...Database Install for 5.0 failsDatabase Install for 5.0 fails


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out