[ 
https://issues.apache.org/jira/browse/GUACAMOLE-1253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Starke Gardner updated GUACAMOLE-1253:
--------------------------------------
    Description: 
We have a large user count ~1500 and use Sqlserver.

 

When trying to load the user settings on the web interface the page will never 
load and we get this error:
{quote}
 SELECT [guacamole_user].user_id, [guacamole_entity].entity_id, 
[guacamole_entity].name, password_hash, password_salt, 
 password_date, disabled, expired, access_window_start, access_window_end, 
valid_from, valid_until, 
 timezone, full_name, email_address, organization, organizational_role, ( 
SELECT MAX(start_date) 
 FROM [guacamole_user_history] WHERE [guacamole_user_history].user_id = 
[guacamole_user].user_id ) AS last_active FROM [guacamole_user] JOIN [guaca
 mole_entity] ON [guacamole_user].entity_id = [guacamole_entity].entity_id 
WHERE [guacamole_entity].name IN ( ? , ? 
 , ? ,.......... ? ) AND [guacamole_entity].type = 'USER'; SELECT 
 [guacamole_user_attribute].user_id, [guacamole_user_attribute].attribute_name, 
[guacamole_user_attribute].attribute_value FROM [guacamole_user_att
 ribute] JOIN [guacamole_user] ON [guacamole_user].user_id = 
[guacamole_user_attribute].user_id JOIN [guacamole_entity] ON 
[guacamole_user].entity_id = [guacamole_entity].enti
 ty_id WHERE [guacamole_entity].name IN ( ? , ? ,........ ? ) AND 
[guacamole_entity].type = 'USER';
{quote} # 
 ## 
 ### 
{quote}Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The incoming 
request has too many parameters. The server supports a maximum of 2100 
parameters. Reduce the number of parameters an d resend the request.{quote}

I truncated the name IN statement as there was a "?" for each of the 1500 users 
two times in the select statement.

  was:
We have a large user count ~1500 and use Sqlserver. When trying to load the 
user settings on the web interface the page will never load and we get this 
error:
SELECT [guacamole_user].user_id, [guacamole_entity].entity_id, 
[guacamole_entity].name, password_hash, password_salt, 
 password_date, disabled, expired, access_window_start, access_window_end, 
valid_from, valid_until, 
 timezone, full_name, email_address, organization, organizational_role, ( 
SELECT MAX(start_date) 
FROM [guacamole_user_history] WHERE [guacamole_user_history].user_id = 
[guacamole_user].user_id ) AS last_active FROM [guacamole_user] JOIN [guaca
mole_entity] ON [guacamole_user].entity_id = [guacamole_entity].entity_id WHERE 
[guacamole_entity].name IN ( ? , ? 
 , ? ,.......... ? ) AND [guacamole_entity].type = 'USER'; SELECT 
 [guacamole_user_attribute].user_id, [guacamole_user_attribute].attribute_name, 
[guacamole_user_attribute].attribute_value FROM [guacamole_user_att
ribute] JOIN [guacamole_user] ON [guacamole_user].user_id = 
[guacamole_user_attribute].user_id JOIN [guacamole_entity] ON 
[guacamole_user].entity_id = [guacamole_entity].enti
ty_id WHERE [guacamole_entity].name IN ( ? , ? ,........ ? ) AND 
[guacamole_entity].type = 'USER';
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The incoming 
request has too many parameters. The server supports a maximum of 2100 
parameters. Reduce the number of parameters an
d resend the request.

I truncated the name IN statement as there was a "?" for each of the 1500 users 
two times in the select statement.


> Hitting 2100 SQLServer query parameter limit with large user base
> -----------------------------------------------------------------
>
>                 Key: GUACAMOLE-1253
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1253
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole, guacamole-auth-jdbc-sqlserver
>    Affects Versions: 1.3.0
>         Environment: docker
>            Reporter: Starke Gardner
>            Priority: Major
>
> We have a large user count ~1500 and use Sqlserver.
>  
> When trying to load the user settings on the web interface the page will 
> never load and we get this error:
> {quote}
>  SELECT [guacamole_user].user_id, [guacamole_entity].entity_id, 
> [guacamole_entity].name, password_hash, password_salt, 
>  password_date, disabled, expired, access_window_start, access_window_end, 
> valid_from, valid_until, 
>  timezone, full_name, email_address, organization, organizational_role, ( 
> SELECT MAX(start_date) 
>  FROM [guacamole_user_history] WHERE [guacamole_user_history].user_id = 
> [guacamole_user].user_id ) AS last_active FROM [guacamole_user] JOIN [guaca
>  mole_entity] ON [guacamole_user].entity_id = [guacamole_entity].entity_id 
> WHERE [guacamole_entity].name IN ( ? , ? 
>  , ? ,.......... ? ) AND [guacamole_entity].type = 'USER'; SELECT 
>  [guacamole_user_attribute].user_id, 
> [guacamole_user_attribute].attribute_name, 
> [guacamole_user_attribute].attribute_value FROM [guacamole_user_att
>  ribute] JOIN [guacamole_user] ON [guacamole_user].user_id = 
> [guacamole_user_attribute].user_id JOIN [guacamole_entity] ON 
> [guacamole_user].entity_id = [guacamole_entity].enti
>  ty_id WHERE [guacamole_entity].name IN ( ? , ? ,........ ? ) AND 
> [guacamole_entity].type = 'USER';
> {quote} # 
>  ## 
>  ### 
> {quote}Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The incoming 
> request has too many parameters. The server supports a maximum of 2100 
> parameters. Reduce the number of parameters an d resend the request.{quote}
> I truncated the name IN statement as there was a "?" for each of the 1500 
> users two times in the select statement.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to