Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
DB Engine
SQL ServerMSDESQL Server CE
Services
Analysis (Data Mining)Analysis (OLAP)DTSIntegration ServicesNotification ServicesReporting Services
Programming
CLRConnectivitySQLXML
Other Technologies
ClusteringEnglish QueryFull-Text SearchReplicationService Broker
General
Data WarehousingPerformanceSecuritySetupSQL Server ToolsOther SQL Server Topics
DirectoryUser Groups
Related Topics
MS AccessOther DB ProductsMS Server Products.NET DevelopmentVB DevelopmentJava DevelopmentMore Topics ...

SQL Server Forum / Services / Reporting Services / July 2008

Tip: Looking for answers? Try searching our database.

Internationalization Support for SSRS

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Dibakar - 14 Jul 2008 17:10 GMT
Hi,
i want to make my report multilingual.for that i need change static
label(like table header,textbox text) used in report according to the current
culture.How i can do it?

Also i am using ReportViewer control which is using text like
"Find,Next,Export etc...." with their tooltip.How i can change those in
site's present culture info?

Note: i am not looking for the client localization,but looking to make a
site for say Germany as weel as in English and language will change according
to user choice.

Thanks
Dibakar
Dibakar - 15 Jul 2008 17:11 GMT
Hi All,
i am trying to do it using Custom Assembly which is reading text from
Resource file.But in this case i face a problem that it is not working in
http://localhost/reports,though it is working fine when i preview it.
I know it is a permission issue,but i could not able to find out what type
of permission i need to give resource file so that it can access it.
Can anybody help me rgd this?
Dibakar

> Hi,
> i want to make my report multilingual.for that i need change static
[quoted text clipped - 11 lines]
> Thanks
> Dibakar
Steve MunLeeuw - 15 Jul 2008 18:02 GMT
In designer preview window, your credentials are used, and the assembly is
located here:
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies

On the server, the assembly is located here:
c$\Program Files\Microsoft SQL Server\MSSQL.1\Reporting
Services\ReportServer\bin

and requires that Reporting Services trusts the component to run.  Same
configuration scheme as when running CLR in SQL if that helps.

Here is an example:
c$\Program Files\Microsoft SQL Server\MSSQL.1\Reporting
Services\ReportServer\rssrvpolicy.config
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"
Name="AAC.RSLocalize2007" Description="This code group grants FullTrust to
AAC.RSLocalize2007.dll.">

<IMembershipCondition class="UrlMembershipCondition" version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting
Services\ReportServer\bin\AAC.RSLocalize2007.dll" />

</CodeGroup>

Thanks,

Steve MunLeeuw
Dibakar - 16 Jul 2008 10:09 GMT
Thanks for your reply.But still i could not able to run this from IE.
here i am giving the class i used for custom assembly.
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Reflection;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Collections;
using System.Resources;
using System.IO;
using System.Threading;

namespace RptClassLibrary
{
   public class Class1
   {
       public static string test()
       {
           return "hello";
       }
     
       public static string GetMessageDetails(string messageCode,string
userCulture)
       {
         string errorMessage = string.Empty;
         Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(userCulture);
         Thread.CurrentThread.CurrentUICulture =
CultureInfo.CreateSpecificCulture(userCulture);

         ResourceManager resourceManager =
         new ResourceManager("RptClassLibrary.Resource",
Assembly.GetExecutingAssembly());
         
         errorMessage = resourceManager.GetString("DefaultLink");
         return errorMessage;
       }
   }
}

and my rssrvpolicy.config file ----------

<configuration>
   <mscorlib>
       <security>
           <policy>
               <PolicyLevel version="1">
                   <SecurityClasses>
                       <SecurityClass Name="AllMembershipCondition"
Description="System.Security.Policy.AllMembershipCondition, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="AspNetHostingPermission"
Description="System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="DnsPermission"
Description="System.Net.DnsPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="EnvironmentPermission"
Description="System.Security.Permissions.EnvironmentPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="FileIOPermission"
Description="System.Security.Permissions.FileIOPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="FirstMatchCodeGroup"
Description="System.Security.Policy.FirstMatchCodeGroup, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="IsolatedStorageFilePermission"
Description="System.Security.Permissions.IsolatedStorageFilePermission,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="NamedPermissionSet"
Description="System.Security.NamedPermissionSet"/>
                       <SecurityClass Name="PrintingPermission"
Description="System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                       <SecurityClass Name="ReflectionPermission"
Description="System.Security.Permissions.ReflectionPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="RegistryPermission"
Description="System.Security.Permissions.RegistryPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="SecurityPermission"
Description="System.Security.Permissions.SecurityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="SocketPermission"
Description="System.Net.SocketPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="SqlClientPermission"
Description="System.Data.SqlClient.SqlClientPermission, System.Data,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="StrongNameMembershipCondition"
Description="System.Security.Policy.StrongNameMembershipCondition, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="UnionCodeGroup"
Description="System.Security.Policy.UnionCodeGroup, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="UrlMembershipCondition"
Description="System.Security.Policy.UrlMembershipCondition, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="WebPermission"
Description="System.Net.WebPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                       <SecurityClass Name="ZoneMembershipCondition"
Description="System.Security.Policy.ZoneMembershipCondition, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                   </SecurityClasses>
                   <NamedPermissionSets>
                       <PermissionSet
                               class="NamedPermissionSet"
                               version="1"
                               Unrestricted="true"
                               Name="FullTrust"
                               Description="Allows full access to all
resources"
                       />
                       <PermissionSet
                               class="NamedPermissionSet"
                               version="1"
                               Name="Nothing"
                               Description="Denies all resources, including
the right to execute"
                       />
                       <PermissionSet
                               class="NamedPermissionSet"
                               version="1"
                               Name="Execution">
                           <IPermission
                                   class="SecurityPermission"
                                   version="1"
                                   Flags="Execution"
                           />
                       </PermissionSet>
                       
                   </NamedPermissionSets>
                   <CodeGroup
                           class="FirstMatchCodeGroup"
                           version="1"
                           PermissionSetName="Nothing">
                       <IMembershipCondition
                               class="AllMembershipCondition"
                               version="1"
                       />
                       
                       <CodeGroup
                               class="UnionCodeGroup"
                               version="1"
                               PermissionSetName="Execution"
                               Name="Report_Expressions_Default_Permissions"
                               Description="This code group grants default
permissions for code in report expressions and Code element. ">
                           <IMembershipCondition
                                   class="StrongNameMembershipCondition"
                                   version="1"
                                   
PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100512C8E872E28569E733BCB123794DAB55111A0570B3B3D4DE3794153DEA5EFB7C3FEA9F2D8236CFF320C4FD0EAD5F677880BF6C181F296C751C5F6E65B04D3834C02F792FEE0FE452915D44AFE74A0C27E0D8E4B8D04EC52A8E281E01FF47E7D694E6C7275A09AFCBFD8CC82705A06B20FD6EF61EBBA6873E29C8C0F2CAEDDA2"
                           />
                       </CodeGroup>
                       <CodeGroup
                               class="FirstMatchCodeGroup"
                               version="1"
                               PermissionSetName="Execution"
                               Description="This code group grants
MyComputer code Execution permission. ">
                           <IMembershipCondition
                                   class="ZoneMembershipCondition"
                                   version="1"
                                   Zone="MyComputer" />
                           <CodeGroup
                                   class="UnionCodeGroup"
                                   version="1"
                                   PermissionSetName="FullTrust"
                                   Name="Microsoft_Strong_Name"
                                   Description="This code group grants code
signed with the Microsoft strong name full trust. ">
                               <IMembershipCondition
                                       class="StrongNameMembershipCondition"
                                       version="1"
                                       
PublicKeyBlob="002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293"
                               />
                           </CodeGroup>
                           <CodeGroup
                                   class="UnionCodeGroup"
                                   version="1"
                                   PermissionSetName="FullTrust"
                                   Name="Ecma_Strong_Name"
                                   Description="This code group grants code
signed with the ECMA strong name full trust. ">
                               <IMembershipCondition
                                       class="StrongNameMembershipCondition"
                                       version="1"
                                       
PublicKeyBlob="00000000000000000400000000000000"
                               />
                           </CodeGroup>
                           <CodeGroup
                                   class="UnionCodeGroup"
                                   version="1"
                                   PermissionSetName="FullTrust"
                                   Name="Report_Server_Strong_Name"
                                   Description="This code group grants
Report Server code full trust. ">
                               <IMembershipCondition
                                       class="StrongNameMembershipCondition"
                                       version="1"
                                       
PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100272736AD6E5F9586BAC2D531EABC3ACC666C2F8EC879FA94F8F7B0327D2FF2ED523448F83C3D5C5DD2DFC7BC99C5286B2C125117BF5CBE242B9D41750732B2BDFFE649C6EFB8E5526D526FDD130095ECDB7BF210809C6CDAD8824FAA9AC0310AC3CBA2AA0523567B2DFA7FE250B30FACBD62D4EC99B94AC47C7D3B28F1F6E4C8"
                               />
                           </CodeGroup>
                           <CodeGroup
                                   class="UnionCodeGroup"
                                   version="1"
                                   PermissionSetName="FullTrust">
                               <IMembershipCondition
                                       class="UrlMembershipCondition"
                                       version="1"
                                       Url="$CodeGen$/*"
                               />
                           </CodeGroup>
                           <CodeGroup
                                   class="UnionCodeGroup"
                                   version="1"
                                   PermissionSetName="FullTrust"
                                   Name="SharePoint_Server_Strong_Name"
                                   Description="This code group grants
SharePoint Server code full trust. ">
                               <IMembershipCondition
                                       class="StrongNameMembershipCondition"
                                       version="1"
                                       
PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100AFD4A0E7724151D5DD52CB23A30DED7C0091CC01CFE94B2BCD85B3F4EEE3C4D8F6417BFF763763A996D6B2DFC1E7C29BCFB8299779DF8785CDE2C168CEEE480E570725F2468E782A9C2401302CF6DC17E119118ED2011937BAE9698357AD21E8B6DFB40475D16E87EB03C744A5D32899A0DBC596A6B2CFA1E509BE5FBD09FACF"
                               />
                           </CodeGroup>
                            <CodeGroup class="UnionCodeGroup" version="1"
PermissionSetName="FullTrust"
                                    Name="RptClassLibrary" Description="This code group grants
FullTrust to
                                    AAC.RSLocalize2007.dll.">
                           <IMembershipCondition class="UrlMembershipCondition" version="1"
                                    Url="E:\Program Files\Microsoft SQL Server\MSSQL.4\Reporting
Services\ReportServer\bin\RptClassLibrary.dll" />

                            </CodeGroup>

                        </CodeGroup>
                   </CodeGroup>
               </PolicyLevel>
           </policy>
       </security>
   </mscorlib>
</configuration>

-------------------------------
where i am doing wrong at here.Please help.

> In designer preview window, your credentials are used, and the assembly is
> located here:
[quoted text clipped - 23 lines]
>
> Steve MunLeeuw
Steve MunLeeuw - 16 Jul 2008 16:08 GMT
You probably need a security attribute on the class.
Since you are passing in the culture, it looks like you intend to have a
static class, but you have an instance class.  If you want an instance
class, you also need to map an instance name to the assembly in the Report
Properties, References, classes list.

Here's an example:
http://www.c-sharpcorner.com/UploadFile/balajiintel/CustomAssemblyinRS0630200508
1435AM/CustomAssemblyinRS.aspx


Here's an example I have:

[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Assert,
Unrestricted = true)]

public static class Imaging

{

/// <summary>

/// unpackage the byte array to an image, resize it and add padding, then
send it back as a byte array.

/// </summary>

/// <param name="image">input image in the form of a byte array as
object</param>

/// <param name="width">desired width</param>

/// <param name="height">desired height</param>

/// <returns>centered image keeping the aspect ratio, shrinking, or growing
as needed</returns>

public static Object GetPaddedImage(Object dbImage, int width, int height,
Color padColor)

Thanks,

Steve MunLeeuw
Dibakar - 18 Jul 2008 13:01 GMT
Thanks for your reply.
I need one more help from you.WE are using reportviewer control.Now i like
to know hoe to change exported text like "Xml file with report data,CSV(comma
delimited)..etc).
I am trying to use Microsoft.Reporting.WebForms.IReportViewerMessages,but
could not able to get any function to change these text.
So,how to do that?pls help.

> You probably need a security attribute on the class.
> Since you are passing in the culture, it looks like you intend to have a
[quoted text clipped - 37 lines]
>
> Steve MunLeeuw
Steve MunLeeuw - 18 Jul 2008 14:53 GMT
Dibakar,

To make sure that I understand I will restate the question:
How do you localize the Report Viewer control, web version?

I took a look at http://gotreportviewer.com, but couldn't find an answer,
and I haven't had to localize the control, sorry about that.

Thanks,
Steve MunLeeuw
Steve MunLeeuw - 18 Jul 2008 14:55 GMT
Try these two resources:

http://www.codeproject.com/KB/printing/LocalizingReportViewer.aspx
http://forums.asp.net/p/1142027/1924951.aspx

Thanks,
Steve MunLeeuw
Dibakar - 22 Jul 2008 12:06 GMT
yes, i have already done it.
But still i could not able to change Exported text like Xml file with report
data,
CSV(Comma Delimited) etc.
Is their any way to change these text in language like Portugese,etc...

> Try these two resources:
>
[quoted text clipped - 3 lines]
> Thanks,
> Steve MunLeeuw
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.