点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试使用Visual Studio 2017将使用Crystal Report 2016和Oracle本机驱动程序设计的报告导出为ASP.NET中的PDF。
一切都可以从Visual Studio和IIS Express在本地正常运行。 但是在服务器上,出现连接失败[数据库供应商代码:12154]错误。
Oracle Client是12 c 64位(不使用ODBC)
水晶运行时为13_0_23 64位
ASP .NET应用程序是64位
IIS应用程序池设置为64位(启用32位应用程序= False)
TNS_ADMIN设置为指向网络位置的环境系统变量
SQL Plus和TNSPING都成功连接到数据库
在.Net应用程序中,System.Environment.GetEnvironmentVariable(" TNS_ADMIN")返回正确的路径。
该报告是一个测试,只有一个表和一个字段。 没有子报告。
代码是:
connectionInfo.DatabaseName = string.Empty;
connectionInfo.ServerName =" testdb"; //此值为正确的TNS条目名称
connectionInfo.UserID =" testid"; //此值为正确的ID
connectionInfo.Password =" testpw"; //此值为正确的pw
foreach(reportTables中的CrystalDecisions.CrystalReports.Engine.Table reportTable)
{
tableLogOnInfo = reportTable.LogOnInfo;
tableLogOnInfo.ConnectionInfo.AllowCustomConnection = true;
tableLogOnInfo.ConnectionInfo = connectionInfo;
reportTable.ApplyLogOnInfo(tableLogOnInfo);
isConnected = reportTable.TestConnectivity(); //这将返回false
}
reportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat,Response,false," ExportedReport"); //给出打开失败的错误
请让我知道如何解决此问题。
使用Oracle时,技巧是设置IIRC数据库名称,并保留服务器名称为空。 设置服务器并将数据库保留为空可能是另一种方法-自从我与Oracle一起使用Crystal SDK以来已有10年了,因此我不确定。-但我相信我的第一句话是正确的。 另外,我们使用tnsnames.ora设置别名,Oracle只是知道从哪里提取别名,因为到的路径在Windows PATH环境变量中。
-Dell
一周热门 更多>