参数化连接数据库出现data retriever failed to execute query
LR参数化,从数据库中取数据出错.data retriever failed to execute query.什么原因呢?数据库是IBM DB2.应用程序是.net开发的. 提示挺清楚:数据文件不存在啊 用datawizard.创建连接字符串了.选择机器数据源.
点击完成出现这个提示. 没用DNS,直接写的语句,成功了.
provider=;user id=;password=;data source=; 我也出现了这个错误,用楼上的方法也不行. 问题解决了
连接字符串参考网上高手提供的:
DRIVER={MySQL ODBC 3.51 Driver};SERVER=数据库ip地址;PORT=3306;DATABASE=数据库名称; USER=登陆名;PASSWORD=登陆密码;OPTION=3; ;P 您好 用您说的方法还是没有解决呢?我在连接oracle数据库的时候 出现同样的问题 请问怎么解决呢?谢谢 回复 3# Joan2005
若选择“机器数据源”,则应该将生成的Connection string中的“MODE=SHARE”删除。否则会报“Data Retriever failed to execute query.”错误,参数化失败。因为机器数据源是本机专用,不能共享 我也遇到了同样的问题,经过尝试发现是数据源放在“用户DSN”还是“系统DSN”引起的,如下图:
网上查了点关于DSN的资料如下:
ODBC(Open Database Connectivity)
DSN(Data Source Name)
“ODBC数据源管理器”提供了三种DSN,分别为用户DSN、系统DSN和文件DSN。
1. 用户DSN会把相应的配置信息保存在Windows的注册表中,但是只允许创建该DSN的登录用户使用。
2.系统DSN同样将有关的配置信息保存在系统注册表中,但是与用户DSN不同的是系统DSN允许所有登录服务器的用户使用。
3.文件DSN把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN允许所有登录服务器的用户使用,而且即使在没有任何用户登录的情况下,也可以提供对数据库DSN的访问支持。此外,因为文件DSN被保存在硬盘文件里,所以可以方便地复制到其它机器中(文件可以在网络范围内共享)。这样,用户可以不对系统注册表进行任何改动就可直接使用在其它机器上创建的DSN。
用户DSN和系统DSN的区别在于,用户DSN保存在注册表的HKEY_CURRENT_USER下,而系统DSN保存在HKEY_LOCAL_MACHINE下。
页:
[1]