1. 程式人生 > >用友U8-sql server2008 對接國庫支付oracle資料問題集錦

用友U8-sql server2008 對接國庫支付oracle資料問題集錦

用友U8對接國庫支付oracle資料問題集錦

oracle資料庫連結問題
用友U8介面形式
介面資料採集要點

oracle資料庫連結問題

其實核心主要是通過sql server 的 伺服器物件 - 連結伺服器 新增一個遠端伺服器,實現與oracle的對接。
1、驅動的選擇
sql server 2008 R2 安裝後自帶的訪問介面驅動為MSORA 由於各種問題導致非常不好用。需要採用oracle公司自帶的驅動OraOLEDB.Oracle 安裝後在常規中選中動態引數巢狀查詢允許程序內
這裡寫圖片描述
2、Oracle客戶端及驅動的選擇與安裝
不建議採用網上的Oracle客戶端軟體(Instant Client Setup)
,強烈建議到官網下載:

版本選擇:
oracle版本是再AIX系統上的oracle9,所以在sql server2008伺服器上的oracle客戶端建議選擇32位的11g**(win32_11gR2_client)。12c在sql server 2008上不能實現**OraOLEDB.Oracle 訪問介面,至於為什麼不選擇64位版本,試過就知道了。

Oracle Net Manager 配置

用友U8介面形式

兩種介面形式
1、通用介面
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

建立檢視程式碼

SELECT BILL_NO, VOUCHER_NO, BILLS_DATE, BILLS_MONEY, BILLS_ACCESSORY_NUM, 
  BILLS_SUMMARY, EN_CODE, EN_NAME, PM_CODE, PM_NAME, MK_CODE, MK_NAME, 
  BS_CODE, BS_NAME, BI_CODE, BI_NAME, BSI_CODE, BSI_NAME, PK_CODE, PK_NAME, 
  BO_CODE, BO_NAME, BK_CODE, BK_NAME, MB_CODE, MB_NAME, DP_CODE, CR_CODE, 
  BIS_CODE, BIS_NAME, FILE_NO, PA_CODE, PA_NAME, PAYEE_NAME, PAYEE_BANK, PAYEE_ACCOUNT
FROM
OPENQUERY([dblink,建立的資料來源], 'select voucher_bill_no bill_no, voucher_no, substr(pay_date, 1, 10) as bills_date, case when pa_code = ''002'' then -pay_money else pay_money end as bills_money, accessory_number as bills_accessory_num, Pay_summary_name || remark as bills_summary, en_code as en_code,en_name, pm_code,pm_name,mk_code as
mk_code,mk_name, bs_code as bs_code, bs_name, bi_code as bi_code,bi_name, bsi_code as bsi_code,bsi_name, pk_code as pk_code, pk_name, bo_code as bo_code,bo_name, bk_code as bk_code, bk_name,mb_code,mb_name, '' '' as dp_code, '' '' as cr_code, bis_code,bis_name, '' '' as file_no, pa_disp_code as pa_code,pa_name, pay_account_name as payee_name, pay_account_bank as payee_bank, pay_account_no as payee_account from vw_pay_voucher where is_valid=1') AS derivedtbl_1

2、國庫介面

(未完待續)