Entries by Neeraj Jindal

How to Migrate from MySQL to Microsoft SQL Server

How to migrate from MySQL to Microsoft SQL Server 2005 and later using the MySQL ODBC Connector 5.1. After following these steps you should have a MySQL database fully migrated in to your Microsoft SQL Server environment. ODBC Connection Setup to MySQL Database This article will assume that user have already downloaded and installed the […]

How to Enable Multiple Concurrent Users in Remote Desktop for Windows 7

One of the big headaches for Windows Remote Desktop users is the one user limit. Normally, when you connect to a Windows 7 machine through RDP and there is another user already logged on you get this message. “Another user is currently logged to this computer. If you continue, this has to disconnect from this computer. Do you wish to continue?” As a side note, isn’t that a horrible error message. What has to disconnect from which computer? There is a little trick on Windows 7 that allows concurrent remote desktop sessions. So you can connect through Remote Desktop to a machine that someone else is already logged on to under a different or even the same user account and access the system without affecting the other user. A quick note: enabling multiple concurrent RDP users may be against the Windows 7 End User Licensing Agreement (EULA). Please be sure to check the EULA beforehand and know that we do not recommend making these changes in cases where they may violate the EULA. By modifying termsrv.dll, located in %SystemRoot%\System32\, you can enable multiple Remote Desktop users. Be sure to backup the file first in case anything goes wrong. This patch works for both of the following scenarios: 1. When multiple users want to access the system using the same user account and work concurrently without kicking each other user off. 2. When multiple users want to access the system using different user accounts and work concurrently without kicking the other user off. Installation Instructions (Read Carefully) 1. First, Download the file from http://www.mediafire.com/?q5kbp4bfoa0riwq. (termsrv.dll patcher for Windows 7 RTM Ultimate, Professional, and Home Premium 64 bit and 32 bit) 2. Once downloaded, extract the files into a directory (for the purposes of this guide, it will be assumed that the files have been extracted to the Desktop) 3. Run “Concurrent RDP Patcher.exe”. 4. Following screen will appear: 5. Click on First Option (Second one if needed) “Enable multiple logons per user”. 6. Click on Patch button. 7. Close “Concurrent RDP Patcher” window and all things are set. Hex Code Behind the Patch For the more technical users, here is the Hex code behind the patch. x86 Hex edit find: 00 3B 86 20 03 00 00 0F ** ** ** ** replace: 00 B8 00 01 00 00 90 89 86 20 03 00 find: FF 43 50 C7 replace: FF 90 50 C7 find: F8 74 2F 68 ** ** replace: F8 E9 2C 00 00 00 x64 Hex edit find: 8B 87 38 06 00 00 39 87 ** ** ** ** ** ** ** ** ** ** replace: B8 00 01 00 00 90 89 87 38 06 00 00 90 90 90 90 90 90 find: 60 BB 01 00 00 00 replace: 60 BB 00 00 00 00 find: 50 00 74 18 48 8D replace: 50 00 EB 18 48 8D Disclaimer: The following files and instructions are provided for knowledge purpose only. Users please try this at your own risk Understand that it is replacing important files, and as always, anything can happen. And there’s also that whole EULA thing to consider too.

The post How to Enable Multiple Concurrent Users in Remote Desktop for Windows 7 appeared first on OptimusBI.

Report Server Role Management in SSRS

Microsoft Sequel Server Reporting Services (SSRS) provide us with a role management functionality which helps us in enhancing its security. For every user we can define its role and accessibility in a well defined manner. For configuring roles use Report Manager to assign users to a role. This role management works at two levels: Item-level roles: Item level roles are user to manage report server content and report processing. Item-level roles are defined on the root node (the Home folder) or on specific folders or items farther down the hierarchy. System-level roles: In System level roles there is no restrictions in terms of specific folder or an item .It grant access to site-wide operations. For e.g. using Report Builder and other such accesses. Both the types are good enough to be used together. That is why, adding a user to a report server is a two-part operation. It means if you assign a user to an item-level role, you should also assign them to a system-level role. When assigning a user to a role, you must select a role that is already defined. Before we proceed Let us go through following list before we add users to a report server. You must be an Administrator on the computer where report server is configured. If you want to add more users then you must map user accounts (Administrator) to Content Manager and System Administrator roles (if not mapped by default) because only users who have “Content Manager” and “System Administrator” permissions can add users to a report server. Report server can be accessed by both users with Administrator account as well as Standard User Account. Note: “Site Settings” option (top right of the screen upon starting Report Manager) will be only visible to the user with “Administrator” Account and not to the user with “Standard” Account. Let us begin System role – To add a user/group to a system role First start Report Manager (SSRS). Now click on Site Settings (top right of the screen). After that click on Security. Then click on New Role Assignment. In Group or user name, enter a user or group account (Windows domain) in this format: <domain name>\<account name>. After that select a system role, and then click OK. Both the roles can be selected as well, if selected; a user or group will be able to perform the tasks in both roles. Repeat above steps for adding more users or groups. Item role – To add a user/group to an item role First Start Report Manager (SSRS) if not already started. Now click on Folder Settings. After Folder Settings click on Security. Followed by New Role Assignment.  In Group or user name, enter a user or group account (Windows domain) in this format: \. In the given example, the domain name is “Enterprise” and user name is “test1”, so in Group or username field “Enterprise\test1” is used. Select role definitions (you can select one or more) that describe how the user or group should access the item, and then click OK. Now go back to Home and look for the report item for which you want to add a user or group. Hover over on the item, and click on the drop-down arrow. Now in the drop-down menu, click Security (as shown below) After this click New Role Assignment. (Before that you might need to click Edit Item Security in the toolbar to change the security settings.) In Group or user name, enter a user or group account (Windows domain) in this format: \. For e.g. my machine’s domain name is “Enterprise” and user name is “test1”, so in Group or username field I have written “Enterprise\test1”. Select role definitions (you can select one or more) that describe how the user or group should access the item, and then click OK. Repeat above steps for adding more users or groups.

The post Report Server Role Management in SSRS appeared first on OptimusBI.

Report Server Role Management in SSRS

Microsoft Sequel Server Reporting Services (SSRS) provide us with a role management functionality which helps us in enhancing its security. For every user we can define its role and accessibility in a well defined manner. For configuring roles use Report Manager to assign users to a role. This role management works at two levels: Item-level […]

Multilevel Cascading with Select All

The long-standing issue with cascading parameters in SSRS is that when changing the selection of the “parent” parameter, the default selection of the dependent parameter is not always automatically changed. After a considerable amount of R&D and considering the report cache, I have found a solution/workaround which not only solves the issue at hand, but also addresses up to 4 levels of cascading. To address this issue, you need to write a query in your dataset in a manner so that the dependent parameter changes its value every time you change its parent parameter. I used Northwind database (datasource) for testing. The steps are as follows: 1. Open Report Builder. 2. Create data source. 3. Create datasets. 4. Create parameters. 5. Assign parameter values to datasets. Here is the screenshot of what this process will look like:   Data Source 1. Right click on the Data Source folder in the left window. 2. Click on Add Data Source. 3. The following screen will appear:   Datasets Dataset 1: Country SELECT DISTINCT Country FROM Northwind.dbo.Customers ORDER BY Country ASC   Dataset 2: City SELECT l11.City1+’_’+ CAST(row_number() over( order by  l11.city1 desc) AS VARCHAR(50) )as city11 ,l11.City FROM ( SELECT l1.City+’_’+ CAST(row_number() over( order by  l1.City asc) AS VARCHAR(50) )as city1 ,l1.City FROM ( SELECT DISTINCT City FROM Northwind.dbo.Customers WHERE Country IN (@Country) )l1 )l11 ORDER BY l11.City ASC   Dataset 3: Company Name SELECT l11.CompanyName1+’_’+ CAST(row_number() over( order by  l11.CompanyName1 desc) AS VARCHAR(50) )as CompanyName11 ,l11.CompanyName FROM ( SELECT l1.CompanyName+’_’+ CAST(row_number() over( order by  l1.CompanyName asc) AS VARCHAR(50) )as CompanyName1 ,l1.CompanyName FROM ( SELECT DISTINCT CompanyName FROM Northwind.dbo.Customers WHERE City IN(@City) )l1 )l11 ORDER BY l11.CompanyName ASC   Dataset 4: Contact Title SELECT l11.ContactTitle1+’_’+ CAST(row_number() over( order by  l11.ContactTitle desc) AS VARCHAR(50) )as ContactTitle11 ,l11.ContactTitle FROM ( SELECT l1.ContactTitle+’_’+ CAST(row_number() over( order by  l1.ContactTitle asc) AS VARCHAR(50) )as ContactTitle1 ,l1.ContactTitle FROM ( SELECT DISTINCT ContactTitle FROM Northwind.dbo.Customers WHERE CompanyName IN(@CompanyName) )l1 )l11   ORDER BY l11.ContactTitle ASC   Dataset 5: Contact Name SELECT l11.ContactName1+’_’+ CAST(row_number() over( order by  l11.ContactName desc) AS VARCHAR(50) )as ContactName11 ,l11.ContactName FROM ( SELECT l1.ContactName+’_’+ CAST(row_number() over( order by  l1.ContactName asc) AS VARCHAR(50) )as ContactName1 ,l1.ContactName FROM ( SELECT DISTINCT ContactName FROM Northwind.dbo.Customers WHERE ContactTitle IN(@ContactTitle) )l1 )l11 ORDER BY l11.ContactName ASC   Parameters Parameter 1: Country Steps: 1. Right click on the Parameters folder in the left window. 2. Click on Add Parameter. 3. The following screen appear. Click on General in the left window: 4. Now click on Available Values:   Parameter 2: City Steps: 1. Right click on the Parameters folder in the left window. 2. Click on Add Parameter. 3. The following screen appear. Click on General in the left window: 4. Now click on Available Values: 5. Now click on Default Values:   Parameter 3: CompanyName Steps: 1. Right click on the Parameters folder in the left window. 2. Click on Add Parameter. 3. The following screen appear. Click on General in the left window: 4. Now click on Available Values: 5. Now click on Default Values:   Parameter 4: ContactTitle Steps: 1. Right click on the Parameters folder in the left window. 2. Click on Add Parameter. 3. The following screen appear. Click on General in the left window: 4. Now click on Available Values: 5. Now click on Default Values:   Parameter 5: ContactName Steps: 1. Right click on the Parameters folder in the left window. 2. Click on Add Parameter. 3. The following screen appear. Click on General in the left window: 4. Now click on Available Values: 5. Now click on Default Values:   Now assign parameter values to datasets Steps: 1. Double click dataset “CompanyName”. 2. The following screen will appear: 3. Click Okay for both windows. 4. Now double click dataset “ContactTitle”. 5. The following screen will appear: 6. Click Okay for both windows. 7. Now double click dataset “ContactName”. 8. The following screen appear: 9. Click Okay for both windows. 10. Now run the report by pressing F5. If you are interested in learning more, please feel free to ask in the comments below or email us at info@optimusinfo.com

Multilevel Cascading with Select All

The long-standing issue with cascading parameters in SSRS is that when changing the selection of the “parent” parameter, the default selection of the dependent parameter is not always automatically changed. After a considerable amount of R&D and considering the report cache, I have found a solution/workaround which not only solves the issue at hand, but also […]