在某些情况下DataSourceException

2020-08-27 18:03发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个错误的复杂案例:" DataSourceException:La表BTS est不可入侵...。不可能对表进行麻烦。"

英语:"找不到表BTS...。找不到表"。

我们在程序的最新版本中存在此错误,我们找不到导致该错误的更改(打印代码中没有任何更改)。

我们的报表运行良好,可用于水晶报表设计器,预览可以显示数据,没有问题。

但是在我们的代码中,当我们创建reportDocument.ExportToDisk或ExportToStream时出现错误。

我们已经尝试更新Crystal报告,但没有任何变化。

我们有两个版本的程序,一个是Windows形式的C#,其中包含一个客户端部分和一个服务器部分(服务器部分负载报告,在这一部分中我们有错误)。 另一个版本是asp,javascrip和angular中的web。 在Web部件中,Crystal Report Viewer可以显示数据,但不能导出为pdf ...我认为是出于相同的原因。 Web版本和客户端版本使用服务器部分。

另一个可行的情况是,当我们创建带有数据集的报表时,当我们这样做时一切正常。 只有在具有直接sql连接的报表中,我们才有问题。

这就像阻塞了与Crystal Report的SQL连接一样,也许可以解释Crystal无法看到表的原因。 您有没有发现这种错误的情况?

谢谢。

Gwenaël。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个错误的复杂案例:" DataSourceException:La表BTS est不可入侵...。不可能对表进行麻烦。"

英语:"找不到表BTS...。找不到表"。

我们在程序的最新版本中存在此错误,我们找不到导致该错误的更改(打印代码中没有任何更改)。

我们的报表运行良好,可用于水晶报表设计器,预览可以显示数据,没有问题。

但是在我们的代码中,当我们创建reportDocument.ExportToDisk或ExportToStream时出现错误。

我们已经尝试更新Crystal报告,但没有任何变化。

我们有两个版本的程序,一个是Windows形式的C#,其中包含一个客户端部分和一个服务器部分(服务器部分负载报告,在这一部分中我们有错误)。 另一个版本是asp,javascrip和angular中的web。 在Web部件中,Crystal Report Viewer可以显示数据,但不能导出为pdf ...我认为是出于相同的原因。 Web版本和客户端版本使用服务器部分。

另一个可行的情况是,当我们创建带有数据集的报表时,当我们这样做时一切正常。 只有在具有直接sql连接的报表中,我们才有问题。

这就像阻塞了与Crystal Report的SQL连接一样,也许可以解释Crystal无法看到表的原因。 您有没有发现这种错误的情况?

谢谢。

Gwenaël。

付费偷看设置
发送
3条回答

您使用什么凭据从您的代码登录数据库? 您是否尝试过使用这些凭据在Crystal Designer中运行报表? 我怀疑数据库的安全性正在发生某些问题,导致Crystal无法找到表。

-Dell

compass1988
2楼-- · 2020-08-27 18:30

嗨,我试图 创建一个名为" TestCrystal"的简单项目。 当我单独使用它时没有错误。

然后将其添加到有错误的项目的解决方案中。

如果启动" TestCrystal"具有启动项目,则没有问题。

如果我在名为" Client"(通常是起始项目)的项目的主目录中添加此代码,则会出现错误:

 FormTestImpression formTest =新的FormTestImpression();  Application.Run(formTest); 

FormTestImpression是" TestCrystal"的唯一一个winform,并且只有一个按钮可以加载水晶报表。

获取报告的代码(report.ExportToStream仅在前面描述的情况下获取错误)。

public void getEtat()
{
var report = new ReportDocument();
report.Load(" E:\\ DEV \\ Mainti \\ ServImpression \\ 20130000SansParam.rpt");
ApplyLoginInfo(" sql.tribo.local \\ sql2017"," GLB_Test", " sa"," xxxx",报告);
流s = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
}

私有静态void ApplyLoginInfo(字符串serverName,字符串databaseName ,字符串userId,字符串密码,ReportDocument文档)
{
var info = new TableLogOnInfo();

info.ConnectionInfo.AllowCustomConnection = true;
info.ConnectionInfo.ServerName = serverName;
info.ConnectionInfo.UserID =用户ID;
info.ConnectionInfo.Password =密码;

info.ConnectionInfo.DatabaseName = databaseName;

document.SetDatabaseLogon(info.ConnectionInfo。 UserID,info.ConnectionInfo.Password,info.ConnectionInfo.ServerName,info.ConnectionInfo.DatabaseName,false);

foreach(document.DataSourceConnections中的IConnectionInfo连接)
{
connection.SetConnection(serverName,databaseName,false);
connection.SetLogon(userId,password);
connection.LogonProperties。 Set(" Data Source",serverName);
connection.LogonProperties.Set(" Initial Catalog",databaseName);
}
foreach(document.Database.Tables中的表表)
{
TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
tableLogOnInfo.ConnectionInfo = info.ConnectionInfo;
table.ApplyLogOnInfo(tableLogOnInfo);
}

如果(!document.IsSubreport)
{
foreach(document.Subreports中的ReportDocument rd)
{
ApplyLoginInfo(服务器名称,数据库名称,用户ID,密码,rd);
}
}
}

我认为" Clien"项目或解决方案的某些配置中存在问题,但是对水晶报表有什么影响?

ZJXianG
3楼-- · 2020-08-27 18:07

嗨,我发现了问题,这是水晶报表和我们在项目中添加的名为sqlKata的dll之间的冲突。

一周热门 更多>