﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Teradata Forums / Teradata  / Teradata Database  / Crystal Reports with Teradata / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Teradata Forums</description><link>http://www.teradata.com/teradataforum/</link><webMaster>info@teradata.com</webMaster><lastBuildDate>Wed, 03 Dec 2008 16:47:26 GMT</lastBuildDate><ttl>20</ttl><item><title>Crystal Reports with Teradata</title><link>http://www.teradata.com/teradataforum/Topic11950-9-1.aspx</link><description>I have a set of reports developed in Crystal Reports with SQL SERVER as Database. Now i need to port these reports on Teradata. I am facing following problems.1: I have a piece of code which sets Database information in Report Document like DatabaseName, UserName, Password. This code works fine when SQL Server is used as a Database. But when i changed database to Teradata, the same code failed to generate a Report.2: My reports are developed using OLE DB connection object for SQL SERVER. Reports have a reference to Columns from Database tables.3: When i tried to Create a new OLE DB connection object, re-configured the selected columns and generated a new Report it started working.  4: If i create a Stored Procedure and use the stored procedure columns in Report file instead of direct reference to columns of database table, then report is generated.    e.g: I have a user details report which displays a list of Users configured in my application. This report file has columns directly selected from database tables. Now if i write a Stored Procedure which returns me the same result and then use this result to map to a report file, then it works fine.Code snippet for Setting Database credentials://rptDoc is an object of Report Document// crConnectionInfo has all the details like DBName,UserName,Password.[i]crSections = rptDoc.ReportDefinition.Sections;            foreach (Section crSection in crSections)            {                crReportObjects = crSection.ReportObjects;                foreach (ReportObject crReportObject in crReportObjects)                {                    if (crReportObject.Kind == ReportObjectKind.SubreportObject)                    {                        crSubreportObject = (SubreportObject)crReportObject;                        //open the subreport object and logon as for the general report                         crSubreportDocument = crSubreportObject.OpenSubreport(crSubreportObject.SubreportName);                        crDatabase = crSubreport&amp;#100;ocument.Database;                        crTables = crDatabase.Tables;                        for (int j = 0; j &amp;lt; crTables.Count; j++)                        {                            crTable = crTables[j];                            crTableLogOnInfo = crTable.LogOnInfo;                            crTableLogOnInfo.ConnectionInfo = crConnectionInfo;                            crTable.ApplyLogOnInfo(crTableLogOnInfo);                        }                    }                }            }            crDatabase = rptDoc.Database;            crTables = crDatabase.Tables;            for (int j = 0; j &amp;lt; crTables.Count; j++)            {                crTable = crTables[j];                crTableLogOnInfo = crTable.LogOnInfo;                crTableLogOnInfo.ConnectionInfo = crConnectionInfo;                crTable.ApplyLogOnInfo(crTableLogOnInfo);            }All the suggestions will be appreciated.[/i]</description><pubDate>Tue, 24 Jun 2008 02:30:25 GMT</pubDate><dc:creator>meetsatishg@gmail.com</dc:creator></item></channel></rss>