包含备注字段的DBF数据库文件的登录失败

2020-09-06 00:27发布

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

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


大家好

我没有使用基于服务器的方法来运行报告。 我的应用程序是一个桌面应用程序,所有Crystal Reports都在客户端桌面上运行。 我有一个包含备注字段的DBF文件。 我知道从Crystal Reports for Visual Studio连接时,DBF文件不需要用户标识符或密码。 但是,当我们尝试加载连接到该DBF文件的报告时,我们得到的标准登录表单的表名位于"禁用的服务器名称"字段上,而数据库,用户和密码字段均为空白,无论我们做什么 输入,我们将无法加载报告。 但是,如果我们仅将备注字段转换为字符字段,则一切正常。 这似乎指向SAP Crystal Reports for Visual Studio SP25附带的crdb_p2bxbse.dll驱动程序中有一个确定的错误。 谁能让我知道如何解决这个问题? 请避免将备注字段转换为字符字段之类的建议,因为由于该论坛之外的多种原因,这是不可能的。 我们通过应用程序遇到的错误是:

当我将报告添加到VS项目中并在VS IDE中加载报告时,即使在DBF文件中保留了备注字段,该报告也不会在VS IDE中显示。 当我们从DBF文件中删除备忘字段时,报表将成功加载到VS IDE中。 我们在VS IDE中遇到的错误是:

该报告是CR8.5报告,但是在继续前进并建议将报告升级到更高版本之前,我已经尝试过,即使将报告升级到CR XI也无法正常工作。 我相信它与报告的版本无关,也与DBF文件的版本无关。 据我所知,这与DBF文件包含备注字段这一事实有关。

我尝试过SP21,SP22和最新版本SP25,它们的行为方式相同。

谢谢

crerror.jpg (14.6 kB)

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

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


大家好

我没有使用基于服务器的方法来运行报告。 我的应用程序是一个桌面应用程序,所有Crystal Reports都在客户端桌面上运行。 我有一个包含备注字段的DBF文件。 我知道从Crystal Reports for Visual Studio连接时,DBF文件不需要用户标识符或密码。 但是,当我们尝试加载连接到该DBF文件的报告时,我们得到的标准登录表单的表名位于"禁用的服务器名称"字段上,而数据库,用户和密码字段均为空白,无论我们做什么 输入,我们将无法加载报告。 但是,如果我们仅将备注字段转换为字符字段,则一切正常。 这似乎指向SAP Crystal Reports for Visual Studio SP25附带的crdb_p2bxbse.dll驱动程序中有一个确定的错误。 谁能让我知道如何解决这个问题? 请避免将备注字段转换为字符字段之类的建议,因为由于该论坛之外的多种原因,这是不可能的。 我们通过应用程序遇到的错误是:

当我将报告添加到VS项目中并在VS IDE中加载报告时,即使在DBF文件中保留了备注字段,该报告也不会在VS IDE中显示。 当我们从DBF文件中删除备忘字段时,报表将成功加载到VS IDE中。 我们在VS IDE中遇到的错误是:

该报告是CR8.5报告,但是在继续前进并建议将报告升级到更高版本之前,我已经尝试过,即使将报告升级到CR XI也无法正常工作。 我相信它与报告的版本无关,也与DBF文件的版本无关。 据我所知,这与DBF文件包含备注字段这一事实有关。

我尝试过SP21,SP22和最新版本SP25,它们的行为方式相同。

谢谢

crerror.jpg (14.6 kB)
付费偷看设置
发送
8条回答
哎,真难
1楼 · 2020-09-06 00:56.采纳回答

您可以尝试使用ReplaceConnection(),在搜索中会找到有关如何使用它的KBA。 但是问题在于旧驱动程序,它可能无法正确转换为新驱动程序。 因此,我们俩都部分正确,这取决于报表源使用的是什么。

第二个问题,Xbase驱动程序将消失,可以使用ODBC连接并查看其是否有效。

使用替换连接可用于将报表从本机Xbase驱动程序转换为ODBC。

使用以下方法获取数据库驱动程序的名称:

 String DBDriver =  "";
 为(int x = 0; x  

我进行了一次搜索,发现了一个有关Xbase驱动程序的线程,而R&D确实确认它已消失。 他们建议使用DAO引擎连接到DBF。 或使用ODBC/OLE DB。

看看ODBC是否适合您....

葫芦娃快救爷爷
2楼-- · 2020-09-06 01:03

嗨Kamram,

有趣,您还有 安装了CR 8.5吗?

您是否有ac:\ windows \ crystal文件夹?

您可以运行模块并验证所有运行时版本是否为13.0.SP.xxxx

它可以在Crystal Reports Designer中工作吗?

Don

xfwsx85
3楼-- · 2020-09-06 00:54

8.5不能与任何其他版本安装在同一台PC上,不受支持。 问题是那时我们在c:\ windows \ system32文件夹中安装了各种dll,因此通常会首先被加载。

我建议在新PC上安装VS和CR for Vs,然后再次进行测试。/p>

清理CR 8.5是一个噩梦,那时MSIExec从来没有在删除软件方面做得很好。

您可以尝试一下,因此可以使用Modules或ProcessMonitor来验证是否未加载任何内容。

Don

当学会了学习
4楼-- · 2020-09-06 01:10

Hi Don,

我在开发机上安装了Crystal 8.5和Crystal XI设计器,以及Visual Studio SP25的Crystal Reports。 我的c:\ windows上有一个Crystal文件夹,其中包含所有驱动程序和其他dll。 这是我在Crystal文件夹中拥有的图像:

看一下引用,所有CR引用似乎都有几个相同的版本栏。 这是我在VS的"引用"窗口中拥有的图像:

该报告在CR 8.5和CR XI上都运行良好,但是我们发现几乎不可能使它们均匀加载到VS IDE SP25的CR上。 正如我提到的,在VS IDE中,当我们将报告包含在VS项目中时,将显示报告,但是当我们要查看报告甚至验证表时,它会出现数据库连接错误(原始问题中的第二个图像) )。 看来您的驱动程序无法正确处理备忘字段。 如您所知,在FoxPro中,备注字段存储在具有FPT扩展名的单独文件中。 所以也许,您的驱动程序搞砸了,而忽略了FPT文件。

当没有备注字段时,我们将文件加载到VS IDE中,可以查看报告并验证表而没有任何问题,但是当我们的应用程序尝试在Crystal Viewer控件中动态显示报告文件时,我们总是会得到 登录表单(原始问题中的第一张图片),尽管事实是同一份报告在IDE中也能正常工作,并且根本不会抛出登录表单。 我们发现动态加载报告的唯一方法是将VS IDE中的报告升级到最新版本。 如果这能够解决我们所有报告的问题,那么我们没有任何问题,但是不幸的是事实并非如此。 因此,在驱动程序级别发生了一些事情,如果不访问驱动程序代码,我将无法弄清楚它到底是什么。 希望您能为我们提供解决方案。

如果您想解决CR xbase驱动程序的问题,我很乐意为您提供访问Visual Studio项目以及两个版本的报告和两个DBF文件的权限。/p>

非常感谢您的协助。

Kamran

大简至美
5楼-- · 2020-09-06 01:11

旧的报表应该可以在新版本的Crystal中打开并正常运行。 无需转换它们。

me_for_i
6楼-- · 2020-09-06 01:09

嗨,唐,

感谢您的回复。 我将组织一台没有CR 8.5的全新开发机器并进行测试。 我们的客户使用CR 10进行报表开发。 CR 10是否可以与VS SP25的CR一起使用? 在过去的24年中,我们已经开发了软件,现在,我们正在将其迁移到.NET/C#平台。 因此,我毫不犹豫地告诉我们的客户使用您建议的任何版本。 如果我们告诉他们选择比CR10更高的版本,是否有任何工具可让我们的客户将其所有报告升级到该版本? 我问的原因是我们的客户将有成千上万的报告,我不想告诉他们他们必须手动在新的CR中打开每个报告并将其保存在新版本中以进行升级。

嗯,我不认为CR是该部门中唯一的一个,在我3.5年的软件开发中,我遇到了很多软件,这些软件在卸载时并没有真正正确地清理它们的混乱,因此在那里没有对CR的抱怨。

Kamran

当学会了学习
7楼-- · 2020-09-06 00:54

嗨,Kamran,

伊多是正确的,但让我也对此进行扩展...

如果报告仍然是8.5 或更高版本,它们确实需要更新,以便它们可以加载较新的数据库驱动程序。 需要在CR 10或更高版本中打开它们,然后使用"设置位置"并选择新驱动程序来更新数据库驱动程序。 验证报告,然后预览以验证它是否可以正常工作,然后将其保存并在您的应用程序中使用。

或者您可以从报告中获取此信息(如果有):

对于(int x = 0; x  

只需检查主版本是否高于8.5。

Don

一周热门 更多>