StrataFrame Forum

Deployment error with oddly named stored procedure.

http://forum.strataframe.net/Topic16815.aspx

By Aaron Young - 6/3/2008

Hi,

I get the following error when deploying a package. Apart from the error message, the database appears to deploy correctly. The error refers to a stored procedure called [dbo].[] and I do indeed have two odd looking stored procedures in among the automatically generated security stored procedures. The attached screenshot shows them and you can see they were generated nearly 4 minutes after the security procedures.

As they have no names I assume they are a corruption. Is it safe to delete them?

Thanks in advance.

X 04/06/2008 01:09:09 -> An error occurred while creating the stored procedure [dbo].[].
X 04/06/2008 01:09:09 -> SqlException       
X 04/06/2008 01:09:09 ->   An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Add a name or single space as the alias name.        
X 04/06/2008 01:09:09 ->        
X 04/06/2008 01:09:09 -> Source     : .Net SqlClient Data Provider       
X 04/06/2008 01:09:09 ->        
X 04/06/2008 01:09:09 -> Stack Trace:        
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()       
X 04/06/2008 01:09:09 ->    at MicroFour.StrataFrame.DBEngine.SQL.DatabaseMigrator.DeploySprocsOfPriority(Database parent, DatabaseInfo dbInfo, Int32 priority)       
X 04/06/2008 01:09:09 ->        
X 04/06/2008 01:09:09 -> An error occurred while creating the stored procedure [dbo].[].
X 04/06/2008 01:09:09 -> SqlException       
X 04/06/2008 01:09:09 ->   An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Add a name or single space as the alias name.        
X 04/06/2008 01:09:09 ->        
X 04/06/2008 01:09:09 -> Source     : .Net SqlClient Data Provider       
X 04/06/2008 01:09:09 ->        
X 04/06/2008 01:09:09 -> Stack Trace:        
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)       
X 04/06/2008 01:09:09 ->    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()       
X 04/06/2008 01:09:09 ->    at MicroFour.StrataFrame.DBEngine.SQL.DatabaseMigrator.DeploySprocsOfPriority(Database parent, DatabaseInfo dbInfo, Int32 priority)       
X 04/06/2008 01:09:09 ->        

By Trent L. Taylor - 6/3/2008

Yeah, that would be a problem...I am not sure where they are coming from.  The first thing that I would do is go through the table properties (right-click a table) and look at the auto-gen settings.  Be sure to click the Save instead of cancel along the way to make sure that things get saved.  It looks like you have a table that has the Auto-Gen checkbox checked without a sproc name provided...this shouldn't be able to happen...but that is what is going on.  You can't delete auto-generated sprocs, so you will have to find the table in question.
By Aaron Young - 6/4/2008

Thanks for the info.

It was the one of the messaging tables and saving it without changes updated the procedures.

Thanks again.

By Trent L. Taylor - 6/4/2008

Good....I will look into this and make sure it doesn't happen again.  It seems like we plugged a hole about this a while back, but I will check into it again.