在一次專案開發過程中需要
從不同的資料庫(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".
3.在指令碼中寫入如下的語句:
datawindowchildldwc_report
transactionnew_sqlca;
connectusingsqlca;// 使用預設的事務物件
dw_cmpst.getchild("dw_orcl",ldwc_report)//getareferenceto
thefirstreportinthecomposite
ldwc_report.settransobject(sqlca)
ldwc_report.retrieve()
disconnectusingsqlca;
new_sqlca=createtransaction// 第二個事務物件
new_sqlca.dbms="sycsystem10/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'"
connectusingnew_sqlca;
dw_cmpst.getchild("dw_sbs",ldwc_report)//reference
ldwc_report.settransobject(new_sqlca)
ldwc_report.retrieve()
disconnectusingnew_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)
同一程序中同一埠如何區分不同的Socket
為了區分不同應用程序間的網路通訊和連線,主要有 3個引數 通訊的目的ip位址 使用的傳輸層協議 tcp 或 udp 和使用的埠號。socket的原意是 插座 通過將這3個引數結合起來,與乙個 插座 socket繫結,應用層就 可以和傳輸層通過套接字介面,區分來自不同應用程式程序或網路連線的通訊,實現...
同一埠如何區分不同的Socket
為了區分不同應用程序間的網路通訊和連線,主要有3個引數 通訊的目的ip位址 使用的傳輸層協議 tcp 或 udp 和使用的埠號。socket的原意是 插座 通過將這3個引數結合起來,與乙個 插座 socket繫結,應用層就可以和傳輸層通過套接字介面,區分來自不同應用程式程序或網路連線的通訊,實現資料...
同一埠如何區分不同的Socket
為了區分不同應用程序間的網路通訊和連線,主要有3個引數 通訊的目的ip位址 使用的傳輸層協議 tcp 或 udp 和使用的埠號。socket的原意是 插座 通過將這3個引數結合起來,與乙個 插座 socket繫結,應用層就可以和傳輸層通過套接字介面,區分來自不同應用程式程序或網路連線的通訊,實現資料...