锐浪报表“未能用指定连接串 "连接字段"连接到数据源,连接串中的用户名和密码已隐藏”

本文对比了使用c/s开发时,SQL连接字符串的两种方式:native客户端与OLE DB访问,详细解析了两者在连接字符串、安全性设置及连接方式上的区别,并提供了将锐浪报表的OLE DB连接字符串转换为native客户端连接的方法。

我是用的c/s开发的,sql连接字符串是

public static string constr = “Data Source=192.168.8.11;Database=myDB;User id=myDB;PWD=0000000;Max Pool Size = 512;Connection Timeout=10”;

这是用的sqlnative方式的语句。

而锐浪报表使用的是oledb方式访问的数据库,语句主要内容是

**Provider=SQLNCLI10.1;**User ID=myDB;PWD=0000000;Initial Catalog=myDB;Data Source=192.168.8.11

这样我们会发现其实差不多的,主要是数据库的标志不明白“ Provider=SQLNCLI10.1; ”//nativeclient,可能老版本不支持,待研究
或者 “Provider=SQLOLEDB.1;” //oledb方式
这一段没有了,我们在sql连接字符串添加上即可。

string str=“ Provider=SQLNCLI10.1; ”+ Constr;

其他原因:
Persist Security Info =false;//不保存
要改为true
意思是表示是否保存安全信息,其实可以简单的理解为”ADO在数据库连接成功后是否保存密码信息”,
True表示保存,False表示不保存

最后的办法:
实在不行采用oledb的连接方法吧,复制锐浪报表的oledb字符串,修改Persist Security Info =false;(不知道为什么,false能用)

在帆软报表中,填报数据提交后数据不显示是一个较为常见的问题,可能涉及多个方面的原因,包括数据集配置、数据库连接、填报属性设置以及缓存机制等。以下是详细的分析解决方案: ### 数据源配置问题 如果数据源未正确配置或数据库连接失败,填报后的数据将无法被正确写入数据库,从而导致数据不显示。确保数据库连接信息(如JDBC URL、用户名密码)正确,并测试连接状态。 ### 填报属性配置问题 在帆软报表设计器中,需要正确设置“报表填报属性”以确保数据能够正确提交。如果未正确配置SQL语句或主键字段,可能导致数据无法正确插入或更新。例如,在“内置SQL”选项中,应确保选择了正确的数据库表,并正确设置了主键字段。此外,检查是否启用了“智能添加字段”功能,该功能可以自动将单元格内容映射到数据库字段。 ### 数据集SQL语句问题 在设计数据集时,使用的SQL语句可能限制了数据的查询范围。例如,`SELECT * FROM emp WHERE deptno = 10`这样的语句只会显示特定部门的数据。如果填报的数据属于其他部门,则不会显示。确保SQL语句没有不必要的过滤条件,或者根据实际情况调整查询语句。 ### 数据库事务问题 在某些情况下,数据虽然被提交,但由于数据库事务未正确提交(commit),数据可能仍然未被写入数据库。检查数据库是否处于事务模式,并确保在提交数据后执行了`COMMIT`操作。 ### 缓存问题 帆软报表可能会缓存数据集的结果,导致新提交的数据未能立即显示。可以通过清除缓存或重新加载报表来解决此问题。在帆软报表服务器中,可以尝试重启服务或刷新数据集。 ### 控件绑定问题 如果控件未正确绑定到数据字段,可能导致数据无法正确提交。检查每个控件是否与正确的字段绑定,并确保字段名称与数据库表中的列名一致。 ### 数据校验失败 在填报过程中,如果设置了数据校验规则,而用户输入的数据不符合这些规则,数据将无法提交。检查是否有数据校验错误提示,并确保用户输入的数据符合要求。 ### 示例代码:数据提交逻辑 在帆软报表中,数据提交通常涉及内置的SQL操作。以下是一个简单的SQL插入语句示例,用于将数据写入`emp`表: ```sql INSERT INTO emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ``` 确保字段顺序数据类型与数据库表结构一致。 ### 日志调试 启用帆软报表的日志功能,查看数据提交过程中的详细日志信息,有助于定位问题。检查日志中是否存在数据库错误、SQL语法错误或连接超时等问题。 ### 示例:检查数据库连接状态 ```java // 示例代码:检查数据库连接状态 Connection conn = null; try { conn = dataSource.getConnection(); if (conn != null && !conn.isClosed()) { System.out.println("数据库连接正常"); } else { System.out.println("数据库连接失败"); } } catch (SQLException e) { e.printStackTrace(); } ``` ### 总结 帆软报表填报后数据不显示的问题可能由多种因素引起。通过检查数据源配置、填报属性设置、数据集SQL语句、数据库事务、缓存机制、控件绑定、数据校验等方面,可以逐步排查并解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值