用友U8對接國庫支付oracle數據問題集錦
oracle數據庫鏈接問題
用友U8接口形式
接口數據採集要點
oracle數據庫鏈接問題
- 其實核心主要是通過sql server 的 服務器對象 - 鏈接服務器 添加一個遠端服務器,實現與oracle的對接。
- 1、驅動的選擇
- sql server 2008 R2 安裝後自帶的訪問接口驅動爲MSORA 由於各種問題導致非常不好用。需要採用oracle公司自帶的驅動OraOLEDB.Oracle 安裝後在常規中選中動態參數,嵌套查詢,允許進程內
- 2、Oracle客戶端及驅動的選擇與安裝
- 不建議採用網上的Oracle客戶端軟件(Instant Client Setup),強烈建議到官網下載:
- http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index-092322.html
-
版本選擇:
oracle版本是再AIX系統上的oracle9,所以在sql server2008服務器上的oracle客戶端建議選擇32位的11g**(win32_11gR2_client)。12c在sql server 2008上不能實現**OraOLEDB.Oracle 訪問接口,至於爲什麼不選擇64位版本,試過就知道了。
Oracle Net Manager 配置
- 新建一個服務器命名“dblink”,再建立鏈接服務器中用到(數據源)
-
建立鏈接服務器
請參考前輩:
https://www.cnblogs.com/wayne-ivan/p/4691099.html
用友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、國庫接口
(未完待續)