Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Crystal报告和登录问题_C#_Sql Server_Entity Framework_Crystal Reports - Fatal编程技术网

C# Crystal报告和登录问题

C# Crystal报告和登录问题,c#,sql-server,entity-framework,crystal-reports,C#,Sql Server,Entity Framework,Crystal Reports,我需要一些帮助 事实上,我读过关于这个问题的文章,我认为我已经解决了它,但它一直困扰着我 这是关于开发和生产环境中的不同登录 这应该是解决方案(EF和SQL Server): 我从实体连接中提取登录信息,并将其应用于报表中的所有表。这应该能奏效。我添加SetDatabaseLogon()只是为了确定,但这不是必需的 现在,当我在生产环境中运行report时,report会弹出一个数据库登录屏幕,显示正确的服务器名称(生产服务器),数据库旁边没有任何内容(这是我关心的),正确的用户名,没有密码,要

我需要一些帮助

事实上,我读过关于这个问题的文章,我认为我已经解决了它,但它一直困扰着我

这是关于开发和生产环境中的不同登录

这应该是解决方案(EF和SQL Server):

我从实体连接中提取登录信息,并将其应用于报表中的所有表。这应该能奏效。我添加SetDatabaseLogon()只是为了确定,但这不是必需的

现在,当我在生产环境中运行report时,report会弹出一个数据库登录屏幕,显示正确的服务器名称(生产服务器),数据库旁边没有任何内容(这是我关心的),正确的用户名,没有密码,要求输入登录信息

我输入了,但CR显示“登录失败,请重试”。我是说WTF。我使用相同的凭据连接到Management Studio的数据库

我正在使用WPF查看器,顺便说一句

我真的被困在这里,我做了一些调试,连接信息得到了所有正确的数据,所以必须报告谁是罪魁祸首,但我该怎么办

任何帮助都将不胜感激。我希望有人在我面前遇到了同样的问题

关于

查看我的计算机上执行相同工作的代码,我可以看到一些差异:

  • tbl.Location
    设置为自身(这可能是在内部重新初始化某些内容-如果没有它,它将无法工作)
  • 将代码放入可以重新调用以处理子报告的方法中:
  • 我的版本不需要调用
    report.SetDatabaseLogon
除此之外,它们基本上是一样的

代码:

(注意:只需手工编码,所以在使用前请检查)

这适用于VS2008版本的crystal reports(忘记它的名称)

编辑:另一件事,在我的连接初始化中,有两个额外的属性集:

ci.Type = ConnectionInfoType.SQL;
ci.IntegratedSecurity = false;

这完全是个愚蠢的问题,我偶然解决了。在我的台式计算机上安装Crystal Reports是有问题的,所以每当我用database expert编辑某些内容(例如添加一些表)时,它就会破坏我的报告。我所做的就是在我的笔记本电脑上使用“设置数据库位置”选项,现在我的报告可以完美地运行。

我在使用“设置数据库登录”时遇到问题

我换了

report.DataSourceConnections[0].SetConnection("Servername","InitialCatalog", "UserID", "Password");

我希望这会对某人有所帮助。

谢谢你,乔恩。很少有好的指针。我会试试,如果它对我有帮助,我会告诉你的。你能详细解释一下如何修复它吗?我也有同样的问题
ci.Type = ConnectionInfoType.SQL;
ci.IntegratedSecurity = false;
report.DataSourceConnections[0].SetConnection("Servername","InitialCatalog", "UserID", "Password");