Error configuring kit

Topics: User Forum
Jul 13, 2006 at 11:35 PM
When I click on Configure SharePoint Learning Kit I get this error message:

"An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

More information has been written to the server event log."

I don't see anything in the log file related to this, and the error doesn't make any sense, since this a single server installation (database and app are on same server) so shouldn't need to accept external connections.

Any ideas?
Jul 14, 2006 at 2:37 AM
There may be a couple possibilities here.

1. Are you using SQL Server Express? If so, we haven’t done much testing with SQL Server Express yet, so that may be one possible issue.
2. There is a known configuration issue that we just fixed. If you click “OK” too quickly, the server may incorrectly determine that the database doesn’t exist. When this happens, the SLK database is created, but it doesn’t have any tables.

Try the following as a work around:
1. Go into SQL Server Management Studio and under “Databases” delete the SharePointLearningKit database.
2. Access the SLK Configuration page again via SharePoint Central Administration and select your site collection.
3. Wait at least 1 minute and then click OK.

Hope this helps. If not, let us know and I can check with some other people tomorrow.

-Mark Knight MSFT

Aug 1, 2006 at 11:10 PM
I'm also having problems at this stage. The error I receive on clicking OK is;

=========================================================

Line 1: Incorrect syntax near 'LOGIN'.

More information has been written to the server event log.

=========================================================

I've tried your suggestion of waiting for a few minutes, but still no joy. The database is being created but as you've pointed out, it's empty.

I'm running SQL Server 2000 SP4 if that makes any difference.
Aug 1, 2006 at 11:18 PM
I think SQL Server 2000 may be your problem. We require SQL Server 2005.

-Mark
Aug 2, 2006 at 9:03 AM
OK. It's a VPC anyway so I'll try upgrading my SQL 2000 install to a 2005 one.

I noticed it only mentioned 2005 in the documents but I just assumed this was to get you to upgrade to 2005 :)

Maybe a note should be added to state that it doesn't work with SQL Server 2000?

Thanks Mark.
Aug 2, 2006 at 4:47 PM
Seems to be working fine now that I've upgraded to SQL 2005. Thanks.
Aug 2, 2006 at 5:51 PM
Agreed, we do need to post the specific system requirements. In general they are:

  • Windows Server 2003
  • SQL Server 2005
  • Windows SharePoint Services v3

Thanks,
Mark
Aug 19, 2006 at 12:29 PM
I am using w2003, sql 2005 (sp1), and wss 3.0. but still having the same error
======================================
Line 1: Incorrect syntax near 'LOGIN'.


More information has been written to the server event log.
=======================================

any comments?
thanks


Aug 21, 2006 at 4:16 PM
What error information is written to your server event log?

-Mark
Aug 24, 2006 at 3:26 PM
Yep. I have a similar set of problems on trying to configure the SLK. I am running windows 2003, SQL Server 2005 and Sharepoint 2007 beta. I have followed the Getting Started with.... guide and come to a halt at step 2.2.2.

Initially I got 'Line 1: Incorrect syntax near 'LOGIN'.' Then on running the configuration again I got 'Invalid object name 'Configuration'.'

The configuration process has created the SharepointLearningKit database in SQL Server 2005 with the system tables but it has not created any SLK specific database objects (no tables, stored procs. etc). Hence the reason why the object name 'Configuration' is invalid. It doesn't exist.

Anyone any thoughts and ideas on why the configuration process has not created all the database objects needed and how do I fix it to continue?

Ta. Rob

server event log output for configuration error (in case you want it):
System.Data.SqlClient.SqlException: Invalid object name 'Configuration'.
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.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.LearningComponents.Storage.LogableSqlCommand.Execute(String commandText)
at Microsoft.LearningComponents.Storage.LearningStore.GetSchemaInformationFromCache(String connectionString, WindowsIdentity databaseIdentity, TextWriter debugLog)
at Microsoft.LearningComponents.Storage.LearningStore.GetSchema()
at Microsoft.LearningComponents.Storage.LearningStore.CreateJob()
at Microsoft.SharePointLearningKit.Administration.SaveConfiguration(Guid spSiteGuid, String databaseServer, String databaseName, String schemaToCreateDatabase, String instructorPermission, String learnerPermission, Boolean createPermissions, String settingsFileContents, String defaultSettingsFileContents)
at Microsoft.SharePointLearningKit.AdminPages.ConfigurePage.BtnOk_Click(Object sender, EventArgs e)
Aug 24, 2006 at 6:03 PM
Rob,

The Login error appears to be a syntax error that occurs right after the database is created. The most likely cause for this is that SLK is talking to an older SQL Server instance (non-2005) or is talking to SQL 2005 in a compatibility mode that is using an older syntax.

You mentioned you are running SQL 2005. Did you previously have a different version of SQL Server installed on this machine? Perhaps your SQL 2005 instance isn't your default SQL server, or maybe you have some compatability settings set to recognize the older syntax.

-Mark
Aug 25, 2006 at 9:38 AM
Hi Mark,

Yes, I am running an older instance of SQL Server 2000 on the same machine which I guess is the default instance. Although I am evaluating SLK on a development machine I would kinda like to keep the older SQL Server 2000 instance on it if at all possible.

The compatibility setting of the 2005 instance is set to SQL Server 2000 (exec sp_dbcmptlevel SharePointLearningKit; = 80) for the SharePointLearningKit database but it does not let me change the compatibility for that database. If I try setting the compatibilty to SQL Server 2005 (90) for that database using

EXEC sp_dbcmptlevel SharePointLearningKit, 90;

I get the following error;

Msg 15416, Level 16, State 1, Procedure sp_dbcmptlevel, Line 92
Usage: sp_dbcmptlevel dbname [, compatibilitylevel]

Valid values of database compatibility level are 60, 65, 70, or 80.


Any thoughts, ideas, tips and hints much appreciated

Rob
Aug 25, 2006 at 6:00 PM
My guess is that your default SQL server is SQL 2000 and the SLK database was created on that server instance, thus you can't increase the compatibility level of the db because it doesn't know about 90?

I'm not exactly sure how installing SQL 2005 on a server with 2000 works. My guess is that it allowed you to install it as a separate named instance of SQL, similar to how I can install SQLExpress along side regular SQL. Do you have other named instances of SQL on the machine? I check this by opening SQL Server Management Studio. In the initial Connect to Server dialog select Server name dropdown and <Browse for more...>. Expand Database Engine and see if any of the instances give any indication of being SQL 2005 rather than 2000.

If you find a different server instance that is your SQL 2005 instance, you should be able to configure SLK to use that. Here are the steps I would try:

1. Delete the existing SharePointLearningKit database that was partially created by your last install.
2. On the SharePoint Learning Kit configuration page specify the Database server as follows: <Machine Name>\<Database Instance Name>. For example TestMachine\SQL2005 rather than just TestMachine.
3. Make sure Create a new database is checked and click OK.

Hope this helps,
Mark
Sep 1, 2006 at 10:44 AM
Hi Mark,

Thanks for your pointers.

Fixed the issue with Sharepoint pointing to the wrong SQL server instance, primarily with a reintall of 2005.

Now to configuring the SLK. the configure SLK option in sharepoint admin creates the database on the correct instance of sql server 2005 but... gets no further than creating the database as it errors with 'DDL statement not allowed'. No tables are created. Error in the log is below.

Have you come across this error? Any ideas as to fix?

Thanks

Rob


SharePoint Learning Kit Error

System.Data.SqlClient.SqlException: DDL statement is not allowed.
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.SharePointLearningKit.Administration.SaveConfiguration(Guid spSiteGuid, String databaseServer, String databaseName, String schemaToCreateDatabase, String instructorPermission, String learnerPermission, Boolean createPermissions, String settingsFileContents, String defaultSettingsFileContents)
at Microsoft.SharePointLearningKit.AdminPages.ConfigurePage.BtnOk_Click(Object sender, EventArgs e)

Sep 13, 2006 at 12:47 AM
Hi Rob,

I'm glad you had some initial success. Have you had any more success since your last posting?

I haven't seen this error yet. I talked a bit with Paul, but we aren't sure why the DDL statements wouldn't be allowed. Perhaps there are still issues with your SQL versions or security/config settings?

You might try some web searches to investigate. Certainly post if you have any success getting it worked out.

-Mark
Jul 27, 2008 at 6:53 AM
Another potential solution (worked for me).

Our SharePoint setup was running embedded edition (MICROSOFT##SSEE - the "EE" part is the tip). If this is the case, the DDL is not going to work. I received a wide variety of other error messages in other attempts (though usually the "DDL statement is not allowed" error was in the event log in addition to the error I saw onscreen).

Simply point it the setup at an instance of SQL Server that isn't embedded edition and you're off to the races.

BTW, this is with SQL Server 2005 Express Edition, so you can quash that concern.
Aug 12, 2008 at 3:22 AM

I just ran into this myself, though not specifically with the SLK but with the Community Kit for SharePoint when setting up a SQL membership provider for FBA (aspnet_regsql uses DDL to create the tables).  If  you want to run Embedded Edition (for licensing reasons), you might be able to temporarily point the SLK to another instance, and then back it up and restore to the Embedded Edition database...Assuming the DDL statements are only to create the database tables and such, this might work.

Regards,

Mike Sharp

Jun 3, 2009 at 6:57 AM

Hi,

I am facing the following error while configuring SLK to a site collection. Please help.....

 

SharePoint Learning Kit Error

System.Data.SqlClient.SqlException: Invalid object name 'Configuration'.

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.SqlDataReader.ConsumeMetaData()

at System.Data.SqlClient.SqlDataReader.get_MetaData()

at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)

at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)

at Microsoft.LearningComponents.Storage.LogableSqlCommand.Execute(String commandText)

at Microsoft.LearningComponents.Storage.LearningStore.GetSchemaInformationFromCache(String connectionString, ImpersonationBehavior impersonationBehavior, TextWriter debugLog)

at Microsoft.LearningComponents.Storage.LearningStore.GetSchema()

at Microsoft.LearningComponents.Storage.LearningStore.CreateJob()

at Microsoft.SharePointLearningKit.SlkAdministration.SaveConfiguration(Guid spSiteGuid, String databaseServer, String databaseName, String schemaToCreateDatabase, String instructorPermission, String learnerPermission, String observerPermission, Boolean createPermissions, String settingsFileContents, String defaultSettingsFileContents, String appPoolAccountName, ImpersonationBehavior createDatabaseImpersonationBehavior)

at Microsoft.SharePointLearningKit.AdminPages.ConfigurePage.BtnOk_Click(Object sender, EventArgs e)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Coordinator
Jun 3, 2009 at 8:11 PM

Have you pointed SLK to an existing database which isn't an SLK database? If using an existing database, the configuration does not create the tables it assumes that they are already there.

Richard

SLK Co-ordinator

http://blog.salamandersoft.co.uk

Jun 4, 2009 at 5:41 AM

Hi Richard,

Thanks for such an immediate response. I was able to find out the cause for exception through reflector.

I was checking the Application pool in inetmgr and saw that the wss administration was running in local system admin account and it this account didnt not had access to the SQL server.

So first it threw error that Domain\admin NT user was not found and then when i tried again to configure SLK for same collection, it gave this Invalid object name Configuration. It was a schema error

 

When i changed the application pools account to the account which had access to SQL Serve and the database of pplicaiton it worked fine.