SSRS report-Arabic content from dataset in local development PC's printed correctly,but in SSRS server it is in reverse

krishna 466 Reputation points
2021-01-17T04:49:02.467+00:00

I have an SSRS report developed which has some dataset values with arabic content ,when i run the report with SSRS tool in my development pc (VS2017) it runs fine ,but when deployed to my SSRS server the arabic content is in reverse.

What i tried : I tried setting locale to arabic for the expression but it didnt work .

I tried setting textbox having the expression to RTL but this also shows content in reverse .

I tried string reverse ,it shows content correctly on the server but when i run the report from my VB.NET code arabic content is all haphazard ,also i have some expressions with english,numbers and arabic words so i cannot use string reverse.

SQL Server Reporting Services
SQL Server Reporting Services
A SQL Server technology that supports the creation, management, and delivery of both traditional, paper-oriented reports and interactive, web-based reports.
2,818 questions
0 comments No comments
{count} votes

Accepted answer
  1. krishna 466 Reputation points
    2021-01-24T07:30:56.533+00:00

    Hi,
    So i figured out the issue ,we are using IBM DB2 database .Initially when we developed the report we had a normal connection string like this

    Provider=IBMDA400.DataSource.1;Data Source=<your data source>;Default Collection="<your default connection";Convert Date Time To Char=FALSE;Use SQL Packages=False;Add statements to SQL package=False

    with this connection string arabic was in reverse and this is what we deployed in our SSRS server

    Then we changed in our development environment the connection string

    Provider=DB2OLEDB;Initial Catalog=dbsys2;Network Transport Library=TCP;Host CCSID=20420;PC Code Page=1256;Network Address="<your value>;Network Port=446;Package Collection="<your value>;Default Schema="<your value>;Default Qualifier="<your value>;DBMS Platform=DB2/AS400;Connection Pooling=True;Units of Work=RUW

    with this arabic was coming correctly and we deployed our reports it in our SSRS server

    The problem was :this new connection string was never updated (and our reports were still referring the first data source) when we deployed through visual studio so i just had to go to the data source and manually change it so arabic content was working fine then in the SSRS Server too


1 additional answer

Sort by: Most helpful
  1. ZoeHui-MSFT 33,386 Reputation points
    2021-01-18T06:57:40.603+00:00

    Hi @krishna ,

    I try to reproduce your issue, I'm using SSRS2017, however the report runs fine in report server with Arabic content.

    You may have a try in the test environment with higher version of SSRS.

    I also did some research online to fix reversed Arabic characters mixed with English in SQL server with T-SQL like shown below.

    CREATE TABLE testa (myText nvarchar(100));  
    alter table testa alter column myText NVARCHAR(100)  COLLATE ARABIC_CI_AI   
    INSERT INTO testa VALUES (N'‏الأبجدية العربية‎ Hello ‏الأبجدية العربية‎ World')  
      
    select * from testa  
      
    select nchar(8237) + myText + nchar(8236) as columnNameDisplay  
    from testa  
    

    57489-screenshot-2021-01-18-145225.jpg

    Details you may refer:how-to-fix-reversed-arabic-characters-mixed-with-english-in-sql-server

    We could process the fields with t-sql in the dataset and then use it in the report.

    Hope it will give you some ideas.

    https://learn.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms156493(v=sql.105)?redirectedfrom=MSDN

    Regards,
    Zoe


    If the answer is helpful, please click "Accept Answer" and upvote it.

    Note: Please follow the steps in our [documentation][3] to enable e-mail notifications if you want to receive the related email notification for this thread.