• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何从不同的数据库中取出数据置于同一_sqlserver

sqlserver 搞代码 3年前 (2018-06-16) 126次浏览 已收录 0个评论

在一次项目开发过程中需要从不同的数据库(eg: db1=oracle;db2=SYBASE)中取出数据方如同一个数据窗口中作为报表. 思路如下:

1. 创建两个tabular型的Datawindow, dw_oracle, dw_sybase.

2. 创建一个composite的Datawindow”dw_cmpst”. 在这个数据窗口中置入dw_oracle和dw_syabse. 分别命名为”dw_orcl”和”dw_sbs”.

http://www.gaodaima.com/35541.html如何从不同的数据库中取出数据置于同一_sqlserver

3. 在脚本中写入如下的语句:

    DataWindowChild ldwc_report
    Transaction NEW_SQLCA;

    CONNECT USING SQLCA; //  使用默认的事务对象

dw_cmpst.GetChild( “dw_orcl”, ldwc_report) // get a reference to
the first report in the composite
    ldwc_report.SetTransObject( SQLCA)
    ldwc_report.Retrieve()
    DISCONNECT USING SQLCA;

    NEW_SQLCA = CREATE Transaction // 第二个事务对象
    NEW_SQLCA.DBMS = “SYC Sybase System 10/11”
    NEW_SQLCA.Database = “database”
    NEW_SQLCA.LogPass = “password”
    NEW_SQLCA.ServerName = “sybase_server”
    NEW_SQLCA.LogId = “logid”
    NEW_SQLCA.DBParm = “Release=’11’,StaticBind=0,DateTimeAllowed=’Yes'”

    CONNECT USING NEW_SQLCA;
    dw_cmpst.GetChild( “dw_sbs”, ldwc_report) // reference
    ldwc_report.SetTransObject( NEW_SQLCA)
    ldwc_report.Retrieve()
    DISCONNECT USING NEW_SQLCA;
    SetNull( NEW_SQLCA);
   

   dw_cmpst.retrieve()//取出数据并显示

   最后一句出现错误,去掉这一语句又不能显示数据,百思不得其解. 后来在一国外论坛得到如下答案:

   将dw_cmpst.retrieve()改为如下语句:

  dw_cmpst.setredraw(false)

  dw_cmpst.modify(“datawindow.print.preview=yes”)

  dw_cmpst.modify(“datawindow.print.preview=no”)

  dw_cmpst.setredraw(true)

 

欢迎大家阅读《如何从不同的数据库中取出数据置于同一_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址