首页 新闻 会员 周边 捐助

Failed to open the connection 水晶报表

0
悬赏园豆:40 [已解决问题] 解决于 2012-04-18 17:05

我的水晶报表,在vs2010里面调试的时候,是正常的,能显示数据,但是直接通过页面浏览就报:Error :Failed to open the connection. Failed to open the connection. TestSaleInvoicBarbara {700C3DB7-252B-403A-A459-0A8DA458904F}.rpt

服务器是server2003的,数据库是sql2005的,配置odbc的时候,如果没有配置“使用者来源资料名称”这个应该是“用户DSN",则,在vs2010水晶报表页面上在与odbc连接的时候,找不到odbc的servername.

青 草 香的主页 青 草 香 | 初学一级 | 园豆:5
提问于:2012-04-13 14:48
< >
分享
最佳答案
0

CrystalDecisions.Shared.ConnectionInfo conn = new CrystalDecisions.Shared.ConnectionInfo();

conn.ServerName =  "pc";
conn.DatabaseName = "db";
conn.UserID = "sa";
conn.Password = "123";
ReportDoc.Database.Tables[0].LogOnInfo.ConnectionInfo = conn;

ReportDoc.Database.Tables[0].ApplyLogOnInfo(ReportDoc.Database.Tables[0].LogOnInfo);

 

这个是直接用户名密码的 你可以看看 

收获园豆:40
死白的man | 老鸟四级 |园豆:2135 | 2012-04-13 15:29

我是通过直接连接odbc,本来写了这个方法但是没有调用,所以不要这些代码了。在服务器上不设置“用户odbc”在program里面的database fields 下的数据库专家,创建新的连接时,

找不到odbc的servername?

青 草 香 | 园豆:5 (初学一级) | 2012-04-13 15:35
其他回答(1)
0

由于本地系统是xp的,而且,vs2010的水晶报表,是与odbc中的系统dsn一起来实现报表的数据读取。而我把项目整个的copy到server2008服务器上,由于系统默认的odbc,系统dsn是32bit的,所以每次在server2008上将项目用vs2010打开,调到水晶报表上去,连接odbc的时候,(在odbc中只配置了系统dsn,水晶报表也只需要用这个系统dsn就ok了。)总找不到系统dsn。这个时候,需要找到我的电脑:“C:\Windows\SysWOW64”打开该文件下的odbc,并配置就ok了。

这应该算是sap的一个bug吧。

青 草 香 | 园豆:5 (初学一级) | 2012-04-18 17:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册