Web Interface for Resource Manager 1.1

114

Got Citrix Resource Manager? Try out Web Interface for Resource Manager! Web Interface for Resource Manager is an ASP.NET 2.0 web application that contains several SQL queries to display useful information contained in the Citrix Resource Manager Summary Database.

version 1.1

Got Citrix Resource Manager?  Try out Web Interface for Resource Manager!

Web Interface for Resource Manager is an ASP.NET 2.0 web application that contains several SQL queries to display useful information contained in the Citrix Resource Manager Summary Database.  Web Interface for Resource Manager displays this information in a drill-down graphical and tabular manner.

What’s new in version 1.1?

  • New application filter on the calendar. You can now filter the calendar page by application, displaying the number of times an individual application has been launched!
  • User level reporting. You can now view a list of every user that has ever accessed your farm and drill down to get session details.
  • Application graph choice. You now have a choice between viewing your top applications via a pie graph or a column chart.

Web Interface for Resource Manager version 1.1 (for Presentation Server 3.0 and above)

Web Interface for Resource Manager XP version 1.1 (for MetaFrame XPe FR3)

Screen Shots of Web Interface for Resource Manager

Usage Calendar (displays number of unique user sessions per day)

Click to enlarge

Bar Chart of sessions started on a particular day

Click to enlarge

Session Details

Click to enlarge

Application Usage

Click to enlarge

User Activity Report

Click to enlarge

Please note that this project is a work in progress.  There are several other ideas that are in the works to add to the functionality of this web application.  If you have ideas for further functionality, please let me know in the comments section below.

114 thoughts on “Web Interface for Resource Manager 1.1

  1. I have tried this and are having an issue viewing the usage Calendar. Basically get this message:-

    ‘The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
    SELECT CONVERT(VARCHAR, DATEADD(hh, 0, SESSIONSTART), 101) AS sessionDate, COUNT(DISTINCT(FK_USERID)) AS sessionsStarted FROM SDB_SESSION WHERE SESSIONSTART BETWEEN ’28/12/2005′ AND ’11/02/2006′ GROUP BY CONVERT(VARCHAR, DATEADD(hh, 0, SESSIONSTART), 101)’

    I can view applications ok but not the usage report. Any ideas?

  2. This is a globalization issue. I wrote the application to use US Date/Time formats and you are using UK Date/Time formats. I uploaded a new version that forces the application to run in the EN-US culture for now. I will look in to changing the code to better integrate with regional settings.

    Thanks.

  3. I am running Metaframe XP FR3. I get following error, when i click on user name to find out about session details.
    Invalid object name ‘LU_CLIENTPROPERTIES’.
    Invalid object name ‘SDB_CLIENTHISTORY’.
    Invalid object name ‘LU_CLIENTTYPEMAPPINGS’.
    Invalid object name ‘LU_LAUNCHER’.

  4. This looks great Jason, the ability to drill down
    Any possibility that you would extend this to provide the ability to perform custom queries? individual or multiple user reports for instance? query for version of ica client?

  5. I’ve already shown this to my management team and they were like IMPLEMENT THIS NOW! I had a question or two about extending the functionality of this tool. Could you extend it to show us the concurrent farm user count at user specified dates and times and for specific applications? Could you allow for a bar chart on the applications as well as pie? What would really really be useful to me would be the ability to drill down into a graph style chart of the individual server’s metrics for a given date and time. We all know that RM going back 4-5 days in the week is just not enough and the data you can pull from the Server Summary are just numbers. You know how mamagement loves pictures :). Anyways like I said very impressed with your first go round with this!!!

  6. on pres.server4 german the calendar doesn’t work:
    Ungültiger Objektname ‘SDB_SESSION’,
    which means: invalid objectname “SDB_SESSION”. when I try “applications”:
    Exception Details: System.Data.SqlClient.SqlException: Ungültiger Objektname ‘LU_APPNAME’.
    Ungültiger Objektname ‘SDB_SESSION’.

  7. I wrote this version using a PS 3.0 / PS 4.0 database schema. I’ll make some modifications to the code to cut out the tables that are not present in MetaFrame XP and upload a new version.

  8. That’s interesting. SDB_SESSION is one of the main tables in the summary database. If you can get me a schema of your summary database, I will see what I can do to get it working for you.

  9. Format of the initialization string does not conform to specification starting at index 81.

    Is this easy to solve?

    Tomas

  10. Launching the page I get this error:

    Invalid object name ‘SDB_SESSION’.
    SELECT CONVERT(VARCHAR, DATEADD(hh, -7, SESSIONSTART), 101) AS sessionDate, COUNT(DISTINCT(FK_USERID)) AS sessionsStarted FROM SDB_SESSION WHERE SESSIONSTART BETWEEN ‘4/24/2006’ AND ‘6/8/2006’ GROUP BY CONVERT(VARCHAR, DATEADD(hh, -7, SESSIONSTART), 101)

    Please let me know how to resolve as my company would love if this worked for us… [email protected]

  11. This sounds like it is a configuration issue in Web.Config. Make sure you are pointing to the correct server and database name (called Initial Catalog in the Web.Config). The sample line in Web.Config uses a database name of rmsummarydb.

  12. The only thing I modified in the web.config is this:

    …and I get the same error. I have tried different connection syntaxs from connectionstrings.com but apparently I cannot find the right one.

    If it matters we are using XPe FR2 on Win2K servers hitting a MS SQL DB on a clustered Win2K server.

  13. I don’t have a FR2 database schema. If you have a diagram of the FR2 database schema that you can share, I will see what I can do. (see my article on reverse engineering a database using Visio for help on this)

  14. Hi Jason,
    Nice job. We have three farms so I built a frontend page to link to seperate farms.
    Will you have some new code for the XP FR3 farms. Getting errors when drilling down into the user info.
    Thanks!
    Rudy

  15. Launching the page i get the error “Arithmetic overflow error converting expression to data type datetime.”

    A Stack Trace is available, but i’m not the SQL-expert…

    Thanks for the help

    Steffen

  16. I don’t have an Oracle DB to test it out on, but looking in the documentation, there doesn’t appear to be any variation on the DB schema based on DBMS platform. So, it should work. Just make sure you connection string in Web.Config is correct for your environment.

  17. If anyone has an example of what the standard run of the mill connection to a SQL 2000 Server from a IIS server would look like, that would be great. Please post it here… Thanks!

  18. Every time that I try to drill down into session deail, I get the following error message:

    Input string was not in a correct format.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.FormatException: Input string was not in a correct format.

    Source Error:

    Line 72:
    Line 73: if(lblDuration != null)
    Line 74: lblDuration.Text = getTimeSpan(double.Parse(lblDuration.Text));
    Line 75:
    Line 76: if(lblActiveTime != null)

    Any ideas?

  19. Are you still interessted in this reverse-enginered schema ?

    if so, where can I send it to ?

    Kind Regards

    Michael Munk
    Denmark, EU

  20. Hi
    The drop down to select the appplication is not working(no applications). Also the # of users on the calendar is not working either. MF XP 1.0 FR3

  21. Hello,

    the URL is:

    /WIRM/calendar.aspx?clientUTCOffset=2

    Screenshot is:

    Server Error in ‘/WIRM’ Application.
    ——————————————————————————–

    Arithmetic overflow error converting expression to data type datetime.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Arithmetic overflow error converting expression to data type datetime.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SqlException (0x80131904): Arithmetic overflow error converting expression to data type datetime.]
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857482
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735094
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
    System.Data.SqlClient.SqlDataReader.HasMoreRows() +150
    System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) +214
    System.Data.SqlClient.SqlDataReader.Read() +9
    System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) +156
    System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +153
    System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +172
    System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +175
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1770
    System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +92
    System.Web.UI.WebControls.ListControl.PerformSelect() +31
    System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
    System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
    System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +26
    System.Web.UI.Control.PreRenderRecursiveInternal() +77
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360

    ——————————————————————————–
    Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
    regards

    Steffen

  22. The most recent calender entry is 12/05/2006 (Aus), everything after that day does not show up as a link. If i change the URL manually to strDate=5/12/2006 the sessions are at 100% and for the value of “NaN”. I don’t know why this is happening, any ideas?

  23. Error when opening home page:
    http://rmwc/WIRM_XP/calendar.aspx?clientUTCOffset=10

    Funny thing is Citrix Web Consloe for RM gives
    -2147217865-[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name ‘lu_server’

    Server Error in ‘/WIRM_XP’ Application.
    ——————————————————————————–

    Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SqlException (0x80131904): Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.]
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857370
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +734982
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
    System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
    System.Data.SqlClient.SqlDataReader.get_MetaData() +62
    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +886
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
    System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
    System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
    System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +7
    System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1770
    System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +92
    System.Web.UI.WebControls.ListControl.PerformSelect() +31
    System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
    System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
    System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +26
    System.Web.UI.Control.PreRenderRecursiveInternal() +77
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Control.PreRenderRecursiveInternal() +161
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360

    ——————————————————————————–
    Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42

  24. Figured it out. I’m using a SQL account with read only to the RM DB, but if i change the config file to using the same SQL account that is the owner on LU_APPNAME and SDB_SESSION the pages loads and everything is fine. The only problem is this username has full access to the RM DB and DS DB and the username and password is in clear text on the config file.
    Question: Does the code need to be so dependent on the owner of the table and what can we do to get around this. Or maybe I should change the owner of the tables?

  25. We dont use Windows Authentication but use SQL does anyone know the code for using SQL authentication I am very bad at coding so all help much appreicated.

  26. Using the CMC, and using RM Reports for the SDB, the data is there for that dates after 12/05/2006 (or 05/12/2006 US)?

    Any ideas?

  27. It is sql 2000 using a sql account and i presume this code below needs changing but as I am a crap coder I dont know how

  28. I cannot reproduce this behavior. I created a SQL login on the database server. Then, I assigned the db_datareader role to this user on the RM Summary Database. So, the only roles for this user are public and db_datareader. This configuration produces no errors.

    Also note that the owner of every table in my RM Summary Database is dbo.

    Here is my connection string as well:
    <add name=”rmsummarydbConnectionString” connectionString=”Data Source=server;Initial Catalog=rmsummarydb;Persist Security Info=True;User ID=username;Password=password” providerName=”System.Data.SqlClient” />

    If you can provide further information, I will be glad to look into this further.

  29. Here is a sample connection string to use in you web.config for SQL authentication:

    <add name=”rmsummarydbConnectionString” connectionString=”Data Source=server;Initial Catalog=rmsummarydb;Persist Security Info=True;User ID=username;Password=password” providerName=”System.Data.SqlClient” />

  30. Don’t worry, I fixed it.

    For all objects for the SDB were set to the owner of a service account. All I did was run a script to change all objects to have the owner of dbo

    That fixed it.

  31. I just downloaded it, and removed my current install and added these new files dated 21/06/2006, but still no better. Calender still stops on 12/05/2006. This is for a PS3 Farm. I had no issues with the XP Farm Calendar. All are running on the same web server.

  32. I am getting below error message, any ideas? Thanks.

    Runtime Error
    Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

    Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a “web.config” configuration file located in the root directory of the current web application. This tag should then have its “mode” attribute set to “Off”.

    Notes: The current error page you are seeing can be replaced by a custom error page by modifying the “defaultRedirect” attribute of the application’s configuration tag to point to a custom error page URL.

  33. The totals look a little off… Andrew

    Session Details:

    ——————————————————————————–
    Username: DIGORDON
    Application: Start Sharepoint Portal
    Session Start: 6/22/2006 6:54:48 AM
    Session End: 6/24/2006 11:37:46 AM
    Server: SYDPCPS11NORFLK
    Client Name: DL3AA477
    Client Version: 9.00.32649 (Build: 32649)
    Client Type: ICA Win32
    IP Address: 10.160.26.35
    Launched Using: ICA Client
    Duration: 4 hours 42 minutes 57 seconds

    Active Time: 14 hours 56 minutes 3 seconds
    CPU Time: 0 hours 13 minutes 12 seconds
    Memory Used: 77.28 GB

  34. I have the same issue as well. Memory usage is all over the place. Usually very low, 0.2KB or very high 5GB. (But I have never seen 77GB)

  35. Any ideas?

    If you would like me to test something Jason let me know.

    I am keep to help you turn this product into a great tool.

    Thanks

  36. Make sure you have the following line in your Web.Config file:

    <globalization requestEncoding=”utf-8″
    responseEncoding=”utf-8″
    fileEncoding=””
    culture=”EN-US”
    uiCulture=””
    enableClientBasedCulture=”false”
    responseHeaderEncoding=”utf-8″
    resourceProviderFactoryType=””
    enableBestFitResponseEncoding=”false” />

  37. Keep in mind that the number stored in the Summary Database is the “Sum of the memory usage for all completed processes” according to the RM Admin guide. So, this number grows very large for longer log on periods.

  38. This is what I have and I am getting the following error…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)

    Tip: visit http://www.connectionstrings.com for assistance.
    –>

    –>

  39. A very Usefull information that could be added is a report with all client versions that are making connections to the farm. Client by client, Session by session, with the username, ClientName, and IP Address of the client that have each version.
    In the SDB_ClientHistory and LU_ClientProperties you have all the information to make this report.

  40. Hello Jason,

    I am sure you are busy, but if you would like me to help you figure out why data is not displaying after 12/05/2006 i will be glad. Only happens in PS3 (XPFR3 is fine), config file was as you mentioned above.

    Maybe there is something wrong with the DB (But Reports using the CMC are working fine?)

    If you want my email, let me know.

    Thanks

  41. thats really a cool stuff. working nice ! waiting for an update with more stats.
    i think its very usefull. congratulation to the writer.

    yours
    otto from vienna austria !

  42. Try adding Language=US_English at the end of your connection string in Web.Config here is an example:

    connectionString=”Data Source=server;Initial Catalog=rmsummarydb;Integrated Security=True;Language=US_English”

  43. Hello Jason,

    Thanks for this. It made no difference. Anyway I believe the RM SDB is the problem, not your app.

    Thanks for helping. I hope you can add more features.

  44. Hello,

    When launching:

    http://rm/wirm/calendar.aspxclientUTCOffset=9.5

    I get a runtime error:
    (Note: I have remove the so I can post)

    !– Web.Config Configuration File —

    configuration
    system.web
    customErrors mode=”Off”
    system.web
    configuration

    And:

    !– Web.Config Configuration File —

    configuration
    system.web
    customErrors mode=”RemoteOnly” defaultRedirect=”mycustompage.htm”
    system.web
    configuration

    Fix:

    If I launch:
    http://rm/wirm/calendar.aspxclientUTCOffset=10
    It works!

    And if i launch:
    http://rm/wirm/calendar.aspxclientUTCOffset=9.5
    again, it works, no runtime error?

    Strange? What do you think?

    The IIS Server is in the +10 Time Zone. Client was in the +9.5 Time Zone.

    Thanks

  45. When I am setting up my virtual directory in IIS, would this be on my Secure Gateway server in my DMZ, or on my licenses Server? This is the only 2 places I have IIS installed.

    Thanks for the help.

  46. When you install/configure resource manager, you must set up a system DSN (named rmsummarydatabase) on your farm database connection server to point to your Resource Manager Summary Database. The location of the database can be found in this system DSN. Keep in mind that you must have the Enterprise version of PS4 in order to utilize Resource Manager.

  47. You can technically use the Secure Gateway server in the DMZ (you would have to open port 1433 to your SQL server in order for this to work), but I would recommend using an internal server. If you are not comfortable using your License server, you can actually even use a Windows XP workstation with IIS installed (although using a workstation is not a very good solution when multiple people want to access the web site).

  48. I’ve been on connectionsettings.com but am having authentication issues when using the AD account that has rights to the RM db. I think it is defaulting to SQL authentication vs Windows Authentication. What is the proper connect string for a SQL db connection using an AD account? Can you prompt for this or must you leave the password in the text file? Not familiar with scripting so an example would be cool. Thanks in advance

  49. bummer i love this app! based off some other posts i checked the db and the account i’m using i just created. originally tried with only datawriter, then manually added access to all select insert create delete. don’t know sql that well so i’m stuck, but like in another post i see the the SDB_SESSION have a different owner than other tables but I can’t change this. any ideas/ thanks! (I am running the XP version)

    Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

  50. I have the similar error whereby LU_APPNAME and SDB_Sessions is not found.

    This is due to the fact that the RM Summary DB was created by the RMUser acct and therefore every table is prefaced as such: RMUser.LU_APPNAME

    I can verify this by creating a new user in SQL – RMTest, defaulting this user to RM Summary DB and giving the user DataReader perms.

    Then I run SQL Query Analyzer and try to do a Select * from LU_APPNAME and it won’t work.

    But: if I Select * from RMUser.LU_APPNAME it works.

    So in this case your only option is to use the RM Summary Database owner unless you want to write a script that changes all the ownership to the tables and all the subsequent DB scripts I presume.

  51. thanks i didn’t realize the tables were setup like that until you pointed it out… it’s exactly as you stated RMuser.LU_etc… thanks a ton for helping clear this up!

  52. Server Error in ‘/Manager’ Application.
    ——————————————————————————–

    Configuration Error
    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

    Parser Error Message: The entry ‘rmsummarydbConnectionString’ has already been added.

    Source Error:

  53. This error means you have <rmsummarydbConnectionString… defined twice in your Web.config. There are two examples in the Web.config for the rmsummarydbConnectionString. Only choose one and leave the remarks (everything between <– and –>) around one of the connection strings.

  54. Nice tool but i have an error in the usage calendar view. Maybe you can help ? Thanks – Bert

    String was not recognized as a valid DateTime.
    SELECT CONVERT(VARCHAR, DATEADD(hh, 1, SESSIONSTART), 101) AS sessionDate, COUNT(DISTINCT(FK_USERID)) AS sessionsStarted FROM SDB_SESSION WHERE SESSIONSTART BETWEEN ’24-Apr-06′ AND ’08-Jun-06′ GROUP BY CONVERT(VARCHAR, DATEADD(hh, 1, SESSIONSTART), 101)

  55. Don’t worry about it since whatever date you r passing from frontend is in the form dd/mm/yyyy
    But SQL Server identify dd as a MM.

    Solution: In frontend if you are using C# do it like
    DateTime dt = new DateTime;
    Calender cal = new Calender;

    dt = cal.Se…………….
    dt.ToString(“MM.dd.yyyy HH:mm:ss”) –> This statement will solve your problem

  56. 1) The very earliest date that can be stored (as a date) in SQL is Jan 01 1753 at 00:00:00AM.
    2) When citrix doesn’t populate the SessionEnd field –Sometimes it doesn’t– then this is the date that’s left in that field.
    3) Applying the UTCOffset (often a negative value), results in a overflow error.

  57. I have not come across an instance personally where the SQL minimum date was recorded in the SDB_SESSION table in the summary database (but that is just me). Usually what I see is a null value for SESSIONEND when Citrix does not populate the field. What you say makes sense though. I will be sure to put some error checking for this situation in future releases.

  58. Hello, I’m also trying to connect to a XPe Oracle DB. I have the oracle 9.2 client installed with the ODBC drivers. Here is my connection string which has been tested and is working as a UDL file.

    However, I’m getting the following error.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: 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)

    Source Error:

    Line 126: // Connect to the RM summary database specified in web.config
    Line 127: sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings[“rmsummarydbConnectionString”].ConnectionString);
    Line 128: sqlConn.Open();
    Line 129:
    Line 130: try

    Any suggetions? Your web app is great for MPS4 RM. I’d really like to use it for our XPe data.

  59. Hi All

    I’m trying to implement WIRM 1.1 for our MetaFrame XPe Farm. But I alwys get the following configuration error:
    Configuration Error
    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

    Parser Error Message: Theme ‘WIRM’ cannot be found in the application or global theme directories.

    Source Error:

    Line 37: enableBestFitResponseEncoding=”false” />
    Line 38:
    Line 39:
    Line 40:
    Line 41:

    Source File: C:\Inetpub\WI_RM_1.1\web.config Line: 39

    Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210

    Do you have any idea why we get this?

    Thanks & Best Regards
    Sasa

  60. Hi Jason, great looking tool, which I have managed to get to work however no applications are listed in the drop down list within the application. This is using Citrix XPe FR2. Is there a version which supports this as I assume this is why it is an empty list ? many thanks !!

  61. Hi Jason, great looking tool, which I have managed to get to work however no applications are listed in the drop down list within the application. This is using Citrix XPe FR2. Is there a version which supports this as I assume this is why it is an empty list ? many thanks !!

  62. was this ever answered? This works great with a SQL account but I had to point to a corporate DB and need to use my AD service account. It has the same permissions but it will not work at all.

  63. Jason,
    Is there any way to see a schema diagram of the tables? We need to build a report that tracks Citrix timings Day, Night, Weekend, etc. by application by user.

    thanks,

    Chris

  64. Get the same Issue, Anyone got a fix for this yet? First time user of Web Interface Resource Manager and quite keen.

    Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SqlException (0x80131904): Invalid object name ‘LU_APPNAME’.
    Invalid object name ‘SDB_SESSION’.]
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +925466
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800118
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
    System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
    System.Data.SqlClient.SqlDataReader.get_MetaData() +62
    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
    System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
    System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
    System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +7
    System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1770
    System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +92
    System.Web.UI.WebControls.ListControl.PerformSelect() +31
    System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
    System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
    System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +26
    System.Web.UI.Control.PreRenderRecursiveInternal() +86
    System.Web.UI.Control.PreRenderRecursiveInternal() +170
    System.Web.UI.Control.PreRenderRecursiveInternal() +170
    System.Web.UI.Control.PreRenderRecursiveInternal() +170
    System.Web.UI.Control.PreRenderRecursiveInternal() +170
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2041

Leave a Reply

Your email address will not be published. Required fields are marked *