2013-09-29 57 views
0

我有一个vb.net应用程序,它目前使用VS的水晶报表并连接到SQL Server 2008数据库。该应用程序现在需要使用SQL Azure数据库,但是当连接到SQL Azure数据库时,会为我的所有Crystal报告引发以下错误: -Crystal报告连接到Azure SQL数据库。表x无法找到

无法找到表''。文件中出错。该表无法找到。数据库连接设置时,Crystal报告正在抛出此错误。堆栈跟踪是从我的代码,但与下面的Crystal报表提出迹: -

CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.SetTableLocation(ISCRTable CurTable,ISCRTable newtable的) 在CrystalDecisions.CrystalReports.Engine.Table.set_Location(字符串值)

该报告实际上使用我已验证的存储过程位于Azure数据库上。

为了尝试解决这个问题,我去了报表设计器中的数据库专家,连接到数据库并且打算仅检查存储过程实际上是否显示报表,但是当连接时数据库专家仅显示表和视图和没有存储过程。我使用的用户名实际上是Azure SQL数据库的主用户,并且在使用任何其他工具(例如使用Microsoft SQL Server管理工作室或SQL Server对象资源管理器)时,存储过程是可见和可访问的,并且可以在没有任何问题的情况下运行。

只要我切换回SQL Server 2008数据库,报表运行良好。 我通常会认为这是一个数据库权限问题,但鉴于上述证据,我不相信它是如此。有没有人使用Crystal报表进行Visual Studio从应用程序内部连接到Azure SQL数据库?

我正在使用Visual Studio 13.2库的水晶报表。

回答

0

检查Azure中的防火墙规则。

在面板 - >配置

以色列

1

我发现我得到错误“表%s不能找到”使用Azure数据库和报告选项时,“验证在第一存储过程刷新“已打开。

将其关闭并且不再发生错误。这在非Azure数据库中不会发生。

但是,另一个问题是SAP Crystal Reports,Visual Studio版本(SP 10)和完整的Crystal 2013(SP4)无法在设计器中看到Azure SQL存储过程。

我不得不通过从Azure导出数据库并将其恢复到本地SQL服务器来解决该问题,并针对本地服务器生成报告。然后,我可以针对Azure数据库运行报告。

编辑:应该指出,从SAP的官方立场是,水晶报表不支持Azure SQL,目前没有计划这样做。来源:http://scn.sap.com/thread/3430662