无法通过设置数据源位置VS2019社区更新数据源位置

2020-08-15 20:02发布

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

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


我将Visual Studio 2019社区与Crystal Reports SP27,CRforVS13SP27_0-10010309和CR13SP27MSI64_0-10010309结合使用。 使用存储过程从SQL 2019服务器提取报表数据。 我向存储过程添加了一个新字段,因此现在需要更新报告。 进入"设置数据源位置"后,我选择" OLE DB(ADO)",然后选择" SQL Native Server 11.0"。 输入连接服务器后的连接信息,用户名和密码,就可以选择我的数据库,而不会出现任何问题。 从那里,我可以获得我的存储过程的列表,然后选择我使用的存储过程。 选择存储过程后,我可以选择"更新",它会弹出输入参数框。 一旦执行此操作,将弹出一条错误消息,提示"无法打开/访问数据对象",然后弹出"未知数据库连接器错误",阻止完成更新。

如果创建新报告,则可以连接到数据库并将数据引入报告中。 因为我可以访问新报表中的数据,所以此问题仅与设置数据源过程有关。 我在网上找不到任何东西可以帮助解决此问题。 我的报告非常复杂,我不想重新创建它。 另外,我想解决此问题以供将来更新。

谢谢

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

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


我将Visual Studio 2019社区与Crystal Reports SP27,CRforVS13SP27_0-10010309和CR13SP27MSI64_0-10010309结合使用。 使用存储过程从SQL 2019服务器提取报表数据。 我向存储过程添加了一个新字段,因此现在需要更新报告。 进入"设置数据源位置"后,我选择" OLE DB(ADO)",然后选择" SQL Native Server 11.0"。 输入连接服务器后的连接信息,用户名和密码,就可以选择我的数据库,而不会出现任何问题。 从那里,我可以获得我的存储过程的列表,然后选择我使用的存储过程。 选择存储过程后,我可以选择"更新",它会弹出输入参数框。 一旦执行此操作,将弹出一条错误消息,提示"无法打开/访问数据对象",然后弹出"未知数据库连接器错误",阻止完成更新。

如果创建新报告,则可以连接到数据库并将数据引入报告中。 因为我可以访问新报表中的数据,所以此问题仅与设置数据源过程有关。 我在网上找不到任何东西可以帮助解决此问题。 我的报告非常复杂,我不想重新创建它。 另外,我想解决此问题以供将来更新。

谢谢

付费偷看设置
发送
3条回答
半个程序猿
1楼 · 2020-08-15 20:19.采纳回答

嗨,查尔斯,

基于非常古老的技术,嵌入式设计器是受限制的,不应用作该应用程序的最终测试,请运行您的应用程序以验证其是否有效。

要手动更新报告,请下载完整报告设计器的试用版。

尽管连接信息已满并且无法显示所有SP。

打开报告,右键单击"数据库",登录到服务器,然后右键单击"连接"。

您应该看到"选项"菜单项,选择它,然后将过滤器更改为仅显示SP。

看看是否可行。

如果不下载CR 2016的Trail版本,请不要使用CR 2020,因为它只有64位,可能会给您带来麻烦。

您可以在此处获取它: https://www.sap.com/products/ crystal-reports.html

Don

Nir深蓝
2楼-- · 2020-08-15 20:38

Don,

我正在使用VS的嵌入式报表设计器。 我最初的问题是验证不起作用,因此我尝试使用设置的数据源位置。 就像设置数据源位置一样,我可以看到数据库列表,但是当我尝试完成验证过程时,我收到一条消息,提示找不到数据库。 由于我从(缺乏)回复中得到的提示是"这应该行得通",所以我做了一些尝试,并能够(某种程度上)解决了我的问题。 因为该变通方法对我而言没有意义,所以我想让您知道我的想法。

在开发中,我已经在默认的SQL数据目录下创建了数据库和存储过程。 由于我计划使用代码检索报告的数据,因此所有报告都使用存储过程。 当我将应用程序投入生产时,我将数据库移到了Program Data文件夹下的application data文件夹中。 我在app.config中设置连接字符串以使用SQL Express实例并附加到数据文件。 一切都很好,包括对报表进行更改并通过运行我的应用程序(而不使用报表设计器的预览数据)测试这些更改。 大部分工作是使用Visual Studio 2015 Professional和SQL 2012完成的。最近我切换到VS2019和SQL 2019,现在我的客户希望我对数据进行一些更改。 在向表中添加了几个字段之后,我更新了存储过程。 据我所知,Crystal Reports无法访问SQL数据文件,因此我将文件附加到了SQL Developer Server。 当验证数据库失败时,我认为我需要将数据源从" myserver \ inventory"更改为" myserver \ c:\ program data \ custInv \ inventory.mdf"。 因为我可以选择存储过程,所以我认为这可能是VS 2019社区的限制或问题。 作为对该理论的检验,我决定尝试创建一个新报告,看看是否可以提取数据。 工作正常后,我上网了并研究了Crystal Reports和VS 2019社区。 当没有任何结果时,我发布了一个问题,希望"您无法使用CR27或VS 2019社区更改数据源位置"。 因此,我对缺乏回应的评论并不是一件坏事。

由于没有发生这种情况,我决定尝试以下方法。 我在服务器上创建了一个新的库存数据库(即使在默认文件夹下也不想附加)。 然后,我将生产数据库复制到这些文件上(是的,我必须使数据库脱机)。 完成此操作后,我便可以进入报告并验证数据库。 现在,我收到有关正在更改数据库文件并准备修复报告的消息。 完成后,我的新字段已添加,一切正常。 我不明白为什么它不能与文件路径一起使用,但希望它可以用于将来的更改。 有什么想法吗?

谢谢

wang628962
3楼-- · 2020-08-15 20:26

嗨,查尔斯,

您是在VS中使用嵌入式报表设计器,还是在使用完整CR设计器的独立副本?

您是否在重新设置SP后验证数据库? 应当使用新的SP信息修复/更新rpt文件。

查看将其转换为ODBC是否有效,然后再将其转换回OLE DB。

VS IDE默认为32 位,因此您可能需要同时在32和64 ODBC Admin中创建一个DSN。

Don

一周热门 更多>