This topic is locked
[SOLVED]

 Bug in 10.3? Yellow screen error: "An object or column name is missing or empty"

10/7/2019 10:29:35 AM
ASPRunner.NET General questions
Pete K author

Is this a bug? An application built with 10.2 that was working perfectly now generates a runtime yellow screen error:
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. Change the alias to a valid name.
Looking at the SQL profiler, I can see that the login SQL query is malformed:

select [TableName], [AccessMask], [] from [dbo].[_user_ugrights] where [GroupID] in (-3)


For some reason, the GroupID column name is not getting inserted into the select clause. I'm using dynamic permissions and AD authentication.

T
Tim 10/7/2019

Hi Pete,
I also use AD and dynamic permissions and was getting this error in 10.3. I worked with support last week and figured this out and it requires 2 things. First, make sure your "ugrights" table has the new "Page" field. ASPR should add this field automatically when you open an old project in 10.3 (make sure you have the latest build, just released), but in my case it didn't work because the user I connect to the DB with didn't have the rights to add this field, so I had to add it manually. The data type is "text".
Second, I had to go to the securities page, switch the table used by dynamic permission to new ones and let ASPR create them (again, user needs permissions). Then build the project once, and then I can go back to the securities page and switch it back to the original tables and it seems to work.
This second step might still point to a bug, but at least it's a workaround.
I just had a thought; maybe if I synced the DB after manually adding the new "Page" field I wouldn't have to do this second step. I'll test that.
Good luck,

Tim

jadachDevClub member 10/7/2019



Hi Pete,
I also use AD and dynamic permissions and was getting this error in 10.3. I worked with support last week and figured this out and it requires 2 things. First, make sure your "ugrights" table has the new "Page" field. ASPR should add this field automatically when you open an old project in 10.3 (make sure you have the latest build, just released), but in my case it didn't work because the user I connect to the DB with didn't have the rights to add this field, so I had to add it manually. The data type is "text".
Second, I had to go to the securities page, switch the table used by dynamic permission to new ones and let ASPR create them (again, user needs permissions). Then build the project once, and then I can go back to the securities page and switch it back to the original tables and it seems to work.
This second step might still point to a bug, but at least it's a workaround.
I just had a thought; maybe if I synced the DB after manually adding the new "Page" field I wouldn't have to do this second step. I'll test that.
Good luck,

Tim



Good to know. I also had that error but did not yet have time to investigate. All I know is, when I turned off security, the error went away. So it sounds like all we need to do is add Page to the ._ugrights table.

Pete K author 10/7/2019

Thanks, Tim! I always start out using integrated Windows authentication when building a new app, then once all tables are generated, I switch to a SQL account with only datareader and datawriter roles. So I guess that step was failing for me also. I think they should add a warning when that happens, as they currently do when trying to add other tables. Probably just an oversight.

admin 10/7/2019

Installing the latest build and re-building the project should take care of this issue. If this doesn't help then what Tim said, adding a new TEXT field named Page to _ugrights table and synchronizing project and database will take care of this.
PS. this new field is required to set permissions for additional pages.