隐藏数据库登录窗口。

2020-09-22 08:29发布

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

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


嗨,

我在.net 2005中将Windows应用程序升级到了.net2012。旧版本在Win2003 Server上运行良好。 数据库是Win2003 Server上的2005 Express。

我已将此应用程序升级到vs2012。 在我的计算机上(Win7-SQL Express 2005),该应用程序在.net 2012上运行良好。

但是在Win2016 Server(已安装Crystal报表的新引擎)上,所有Crystal报表均显示db登录窗口。 尽管提供了数据库名,但无法看到它。 我已经在win2016服务器上为驱动程序安装了express 2012。

我正在使用以下内容进行conn设置:

 MyReport reportDelivery =新的MyReport();
    reportDelivery.DataSourceConnections [0] .SetConnection(Globals.DB_Loc,Globals.DBName.ToUpper(),Globals.ReadUser_Name,Globals.ReadPassWord);

    reportDelivery.Refresh();
    reportDelivery.RecordSelectionFormula = ReportCondition;

//ReportCondition是一个字符串,具有用于过滤记录的值

    Viewer.ReportSource = reportDelivery; 
上面的所有代码在任何计算机上都可以在旧版本上正常运行。
我也尝试过:

私有无效SetReportConnection(CrystalDecisions.CrystalReports.Engine.ReportClass报告)
        {
            ConnectionInfo connInfo =新的ConnectionInfo();
            connInfo.ServerName = Globals.DB_Loc;
            connInfo.DatabaseName = Globals.DBName;
            connInfo.UserID = Globals.ReadUser_Name;
            connInfo.Password = Globals.ReadPassWord;

            表crTables; 数据库crDatabase;  TableLogOnInfo crTableLogonInfo;

            TableLogOnInfo tableLogOnInfo = new TableLogOnInfo();
            tableLogOnInfo.ConnectionInfo = connInfo;

            crDatabase = report.Database;  crTables = crDatabase.Tables;

            foreach(crTables中的CrystalDecisions.CrystalReports.Engine.Table crTable)
            {
                crTableLogonInfo = crTable.LogOnInfo;
                crTableLogonInfo.ConnectionInfo = connInfo;
                crTable.ApplyLogOnInfo(crTableLogonInfo);
            }
        } 

但是没用。 请求报告时,我得到的只是数据库登录窗口,没有数据库名称的值。 我认为这是我必须更改的设置的问题。

有什么想法吗?

谢谢。

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

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


嗨,

我在.net 2005中将Windows应用程序升级到了.net2012。旧版本在Win2003 Server上运行良好。 数据库是Win2003 Server上的2005 Express。

我已将此应用程序升级到vs2012。 在我的计算机上(Win7-SQL Express 2005),该应用程序在.net 2012上运行良好。

但是在Win2016 Server(已安装Crystal报表的新引擎)上,所有Crystal报表均显示db登录窗口。 尽管提供了数据库名,但无法看到它。 我已经在win2016服务器上为驱动程序安装了express 2012。

我正在使用以下内容进行conn设置:

 MyReport reportDelivery =新的MyReport();
    reportDelivery.DataSourceConnections [0] .SetConnection(Globals.DB_Loc,Globals.DBName.ToUpper(),Globals.ReadUser_Name,Globals.ReadPassWord);

    reportDelivery.Refresh();
    reportDelivery.RecordSelectionFormula = ReportCondition;

//ReportCondition是一个字符串,具有用于过滤记录的值

    Viewer.ReportSource = reportDelivery; 
上面的所有代码在任何计算机上都可以在旧版本上正常运行。
我也尝试过:

私有无效SetReportConnection(CrystalDecisions.CrystalReports.Engine.ReportClass报告)
        {
            ConnectionInfo connInfo =新的ConnectionInfo();
            connInfo.ServerName = Globals.DB_Loc;
            connInfo.DatabaseName = Globals.DBName;
            connInfo.UserID = Globals.ReadUser_Name;
            connInfo.Password = Globals.ReadPassWord;

            表crTables; 数据库crDatabase;  TableLogOnInfo crTableLogonInfo;

            TableLogOnInfo tableLogOnInfo = new TableLogOnInfo();
            tableLogOnInfo.ConnectionInfo = connInfo;

            crDatabase = report.Database;  crTables = crDatabase.Tables;

            foreach(crTables中的CrystalDecisions.CrystalReports.Engine.Table crTable)
            {
                crTableLogonInfo = crTable.LogOnInfo;
                crTableLogonInfo.ConnectionInfo = connInfo;
                crTable.ApplyLogOnInfo(crTableLogonInfo);
            }
        } 

但是没用。 请求报告时,我得到的只是数据库登录窗口,没有数据库名称的值。 我认为这是我必须更改的设置的问题。

有什么想法吗?

谢谢。

付费偷看设置
发送
1条回答
hengyuye
1楼 · 2020-09-22 09:00.采纳回答

MS不再支持MS SQL Server 2005,因此还需要升级它。

尝试使用MS SQL Native 11客户端引擎,看看是否有帮助。

一周热门 更多>