oracle怎么實現(xiàn)轉(zhuǎn)賬,sql轉(zhuǎn)oracle

Oracle:如何以事物的方式對數(shù)據(jù)庫進行訪問

兩次連續(xù)成功的COMMIT或ROLLBACK之間的操作,稱為一個事務(wù)。在一個事務(wù)內(nèi),數(shù)據(jù)的修改一起提交或撤銷,如果發(fā)生故障或系統(tǒng)錯誤,整個事務(wù)也會自動撤銷。 一 事務(wù)的概念 事務(wù)是由相關(guān)操作構(gòu)成的一個完整的操作單元。兩次連續(xù)成功的COMMIT或ROLLBACK之間的操作,稱為一個事務(wù)。在一個事務(wù)內(nèi),數(shù)據(jù)的修改一起提交或撤銷,如果發(fā)生故障或系統(tǒng)錯誤,整個事務(wù)也會自動撤銷。 oracle的數(shù)據(jù)語音分為數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)控制語言(DCL)和數(shù)據(jù)操縱語言(DML)。其中的DML語言會生成事務(wù),其他兩種語言只要執(zhí)行,事務(wù)就會結(jié)束。 簡單的說DML語言可以建立事務(wù),DDL和DCL不能建立事務(wù)。 DML語言包括幾個命令,例如 select insert delete update等等,這些命令執(zhí)行后,當(dāng)前用戶的顯示信息是更改了,但是其他人訪問你改的表的時候數(shù)據(jù)并沒有更改,需要使用commit確認后才能更改。如果當(dāng)前用戶在沒有執(zhí)行commit前反悔操作了,那使用rollback命令可以回退到執(zhí)行操縱語句之前,但是如果已經(jīng)執(zhí)行了commit語句是無法回退的。 比如,我們?nèi)ャy行轉(zhuǎn)賬,操作可以分為下面兩個環(huán)節(jié): (1) 從第一個賬戶劃出款項。 (2) 將款項存入第二個賬戶。 在這個過程中,兩個環(huán)節(jié)是關(guān)聯(lián)的。第一個賬戶劃出款項必須保證正確的存入第二個賬戶,如果第二個環(huán)節(jié)沒有完成,整個的過程都應(yīng)該取消,否則就會發(fā)生丟失款項的問題。整個交易過程,可以看作是一個事物,成功則全部成功,失敗則需要全部撤消,這樣可以避免當(dāng)操作的中間環(huán)節(jié)出現(xiàn)問題時,產(chǎn)生數(shù)據(jù)不一致的問題。 一個事務(wù)是由一個可執(zhí)行的SQL語句開始,一個可執(zhí)行SQL語句產(chǎn)生對實例的調(diào)用。在事務(wù)開始時,被賦給一個可用回滾段,記錄該事務(wù)的回滾項。一個事務(wù)以下列任何一個出現(xiàn)而結(jié)束。數(shù)據(jù)庫事務(wù)是一個邏輯上的劃分,有的時候并不是很明顯,它可以是一個操作步驟,也可以是多個操作步驟。關(guān)鍵字: 分層查詢 函數(shù) 觸發(fā)器語法 Oracle物化視圖 跟蹤sql語句 內(nèi)容摘要:事務(wù)是由相關(guān)操作構(gòu)成的一個完整的操作單元。兩次連續(xù)成功的COMMIT或ROLLBACK之間的操作,稱為一個事務(wù)。在一個事務(wù)內(nèi),數(shù)據(jù)的修改一起提交或撤銷,如果發(fā)生故障或系統(tǒng)錯誤,整個事務(wù)也會自動撤銷。 我們可以這樣理解數(shù)據(jù)庫事物:對數(shù)據(jù)庫所做的一系列修改,在修改過程中,暫時不寫入數(shù)據(jù)庫,而是緩存起來,用戶在自己的終端可以預(yù)覽變化,直到全部修改完成,并經(jīng)過檢查確認無誤后,一次性提交并寫入數(shù)據(jù)庫,在提交之前,必要的話所做的修改都可以取消。提交之后,就不能撤銷,提交成功后其他用戶才可以通過查詢?yōu)g覽數(shù)據(jù)的變化。 以事務(wù)的方式對數(shù)據(jù)庫進行訪問,有如下的優(yōu)點: * 把邏輯相關(guān)的操作分成了一個組。 * 在數(shù)據(jù)永久改變前,可以預(yù)覽數(shù)據(jù)變化。 * 能夠保證數(shù)據(jù)的讀一致性。 二 數(shù)據(jù)庫事務(wù)的應(yīng)用 數(shù)據(jù)庫事務(wù)處理可分為隱式和顯式兩種。顯式事務(wù)操作通過命令實現(xiàn),隱式事務(wù)由系統(tǒng)自動完成提交或撤銷(回退)工作,無需用戶的干預(yù)。 隱式提交的情況包括:當(dāng)用戶正常退出SQL*Plus或執(zhí)行CREATE、DROP、GRANT、REVOKE等命令時會發(fā)生事務(wù)的自動提交。 還有一種情況,如果把系統(tǒng)的環(huán)境變量AUTOCOMMIT設(shè)置為ON(默認狀態(tài)為OFF),則每當(dāng)執(zhí)行一條INSERT、DELETE或UPDATE命令對數(shù)據(jù)進行修改后,就會馬上自動提交。設(shè)置命令格式如下: SET AUTOCOMMIT ON/OFF 隱式回退的情況包括:當(dāng)異常結(jié)束SQL*Plus或系統(tǒng)故障發(fā)生時,會發(fā)生事務(wù)的自動回退。 顯式事務(wù)處理的數(shù)據(jù)庫事務(wù)操作語句有3條,分別是COMMIT,ROLLBACK,SAVEPOINT語句。 COMMIT是數(shù)據(jù)庫事物提交,將變化寫入數(shù)據(jù)庫。此操作把多個步驟對數(shù)據(jù)庫的修改,一次性地永久寫入數(shù)據(jù)庫,代表數(shù)據(jù)庫事務(wù)的成功執(zhí)行。ROLLBACK是數(shù)據(jù)庫事務(wù)回退,撤銷對數(shù)據(jù)庫的修改。操作在發(fā)生問題時,把對數(shù)據(jù)庫已經(jīng)作出的修改撤消,回退到修改前的狀態(tài)。在操作過程中,一旦發(fā)生問題,如果還沒有提交操作,則隨時可以使用ROLLBACK來撤消前面的操作。SAVEPOINT則用于在事務(wù)中間建立一些保存點,ROLLBACK可以使操作回退到這些點撤上邊,而不必撤銷全部的操作。一旦COMMIT完成,就不能用ROLLBACK來取消已經(jīng)提交的操作。一旦ROLLBACK完成,被撤消的操作要重做,必須重新執(zhí)行相關(guān)操作語句。 如何開始一個新的事務(wù)呢?一般情況下,開始一個會話(即連接數(shù)據(jù)庫),執(zhí)行第一條SQL語句將開始一個新的事務(wù),或執(zhí)行COMMIT提交或ROLLBACK撤銷事務(wù),也標志新的事務(wù)的開始。另外,執(zhí)行DDL(如CREATE)或DCL命令也將自動提交前一個事務(wù)而開始一個新的事務(wù)。 數(shù)據(jù)在修改的時候會對記錄進行鎖定,其他會話不能對鎖定的記錄進行修改或加鎖,只有當(dāng)前會話提交或撤銷后,記錄的鎖定才會釋放。 例如修改雇員SCOTT的工資,工資在原有基礎(chǔ)上增加1000: UPDATE emp SET sal=sal+1000 WHERE empno=7788; 執(zhí)行結(jié)果: 已更新 1 行。 顯示修改后SCOTT的工資: SELECT ename,sal FROM emp WHERE empno=7788; 執(zhí)行結(jié)果: ENAME SAL SCOTT 4000 經(jīng)查看修改結(jié)果正確,提交所做的修改: COMMIT; 執(zhí)行結(jié)果: 提交完成。 在執(zhí)行COMMIT后,工資的修改被永久寫入數(shù)據(jù)庫。本訓(xùn)練的第1步,先使用COMMIT命令提交原來的操作,同時標志一個新的事務(wù)的開始。注意:在事務(wù)執(zhí)行過程中,隨時可以預(yù)覽數(shù)據(jù)的變化。

延川網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,延川網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為延川近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的延川做網(wǎng)站的公司定做!

Oracle ebs 中如何查找銀行流水

1.創(chuàng)建Product Family

Product Family用于管理幾個功能相近的Product(也可以立即為模塊),統(tǒng)一管理客戶化的Webservice接口

begin

-- Call the procedure

ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation = 'os_xxx',

x_pseudo_product_flag = 'N',

x_product_family_flag = 'Y',

x_application_short_name = NULL,

x_product_name = 'Oracle Xxx Suite',

x_product_family_abbreviation = NULL,

x_product_family_name = NULL,

x_aru_update_date = to_char(SYSDATE,'yyyy-mm-dd

hh24:mi:ss'),

x_currdate = to_char(SYSDATE,'yyyy-mm-dd

hh24:mi:ss'),

x_last_updated_by = -1,

x_created_by = -1);

COMMIT;

end;

2.注冊Product,即注冊Xxx University(cux)應(yīng)用到產(chǎn)品家族中

begin

ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation = 'cux',

x_pseudo_product_flag = 'N',

x_product_family_flag = 'N',

x_application_short_name = 'CUX',

x_product_name = 'Xxx University',

x_product_family_abbreviation = NULL,

x_product_family_name = NULL,

x_aru_update_date = to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),

x_currdate = to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),

x_last_updated_by = -1,

x_created_by = -1);

COMMIT;

end;

3.關(guān)聯(lián)Xxx University應(yīng)用到產(chǎn)品家族Oracle Xxx Suite下

begin

-- Call the procedure

ad_pa_insert_package.insert_ad_pm_prod_family_map(x_product_abbreviation = 'cux',

x_product_family_abbreviation = 'os_xxx',

x_aru_update_date = TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),

x_currdate = TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),

x_last_updated_by = -1,

x_created_by = -1);

COMMIT;

end;

4.增加一個BUSINESS_ENTITY的lookup code(應(yīng)用開發(fā)員職責(zé)-應(yīng)用產(chǎn)品 - 代碼-Oracle Application Object),這個Lookup會用在下

一步的API中的@rep:category BUSINESS_ENTITY

這里增加的code為ORACLESEEKER

5.編寫PL/SQL API Specification

CREATE OR REPLACE PACKAGE CUX_SUPPLIER_PKG AS

/* $Header: $ */

/*#

* This package using maintain the supplier information

* @rep:scope public

* @reproduct CUX

* @rep:lifecycle active

* @rep:displayname Supplier Approve result

* @rep:compatibility S

* @rep:category BUSINESS_ENTITY ORACLESEEKER

*/

/*#

* insert approve result

* @param apply_id apply id

* @param node_id node id

* @param node_name node name

* @param approver_id approver id

* @param approver_name approver name

* @param approve_result approve result

* @param approve_opinion approve opinion

* @param approve_date approve date

* @return a varchar

* @rep:scope public

* @rep:lifecycle active

* @rep:displayname insert supplier approve result Webservice

*/

FUNCTION f_insert_approve_result(apply_id IN NUMBER,

node_id IN NUMBER,

node_name IN VARCHAR2,

approver_id IN NUMBER,

approver_name IN VARCHAR2,

approve_result IN NUMBER,

approve_opinion IN VARCHAR2,

approve_date IN DATE) RETURN VARCHAR2;

END CUX_SUPPLIER_PKG;

需要注意Package中的注釋并不是隨便填寫的,每一個注釋都會對應(yīng)到Oracle Integration Repositoy接口的說明上去,對于要注冊成

Webservice的PL/SQL API必須按照要求來填寫。

注釋標簽具體的含義需要參考《Oracle E-Business Suite Integrated SOA Gateway Developer's Guide》

6.驗證PLSQL接口文件,并生成ildt文件

將編寫好的PLSQL聲明定義保存為.pls文件(PAUL_ITEM_PKG.pls),并將其上傳到服務(wù)器應(yīng)用$CUX_TOP/patch/115/sql目錄下,然后執(zhí)行下

邊的命令生成ildt文件

/usr/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin

cuxatch/115/sql:CUX_SUPPLIER_PKG.pls:12.0=CUX_SUPPLIER_PKG.pls

7.將iLDT文件上傳到Oracle Integration Repositoy

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct CUX_SUPPLIER_PKG_pls.ildt

8.在對應(yīng)的Product Family和Product下就能看到你的接口

9.在Web服務(wù)調(diào)用的時候,需要有一個應(yīng)用數(shù)據(jù)庫用戶來連接EBS數(shù)據(jù)庫,因此需要創(chuàng)建一個具備一定權(quán)限的用戶,而為了簡化設(shè)置的麻煩

,Oracle提供了一個內(nèi)建的用戶 ASADMIN ,只要啟用它并重置密碼就可以了。

以sysadmin登錄Oracle EBS,切換到 User Management 職責(zé),進入Users頁面,查找出asadmin用戶,通過修改密碼的方式激活asadmin,

并確保此用戶擁有Apps Schema Connect Role職責(zé)。

由于asadmin的密碼已經(jīng)被重置,因此中間服務(wù)器的文件配置$INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml 中對應(yīng)的

密碼也需要修改,由于配置中的密碼已被加密,我們無法提供加密后的密碼,使用過OC4J的同事應(yīng)該都知道,Oracle提供了一種重置這里

密碼的方便方法,就是采用明文密碼,在密碼前添加一個警號(!),然后重啟應(yīng)用服務(wù)器后自動會重新加密。打開system-jazn-data.xml

文件后, 找到

user

nameASADMIN/name

display-nameDefault Apps SOA User/display-name

descriptionUsed by SOAProvider for DB connection/description

credentials{903}qMgAeO1AjQjwOJ6rIB41Sx049uG0xzhs/credentials

/user

只要將credentials的值更改為自己的密碼,如我的密碼設(shè)置為11111,就設(shè)置為 credentials!11111/credentials。修改完成后重啟

oamf,簡單的方法就是重啟Oracle EBS應(yīng)用服務(wù)。

附重啟命令:

cd $INST_TOP/admin/scripts

01、關(guān)閉應(yīng)用 sh adstpall.sh apps/apps

02、重啟應(yīng)用 sh adstrtal.sh apps/apps

03、關(guān)閉DB

04、重啟DB

05、啟動并發(fā)管理器 adcmctl.sh start apps/apps

10.為集成接口創(chuàng)建授權(quán)

發(fā)布到Oracle Integration Repositoy中的Web服務(wù)能夠被訪問必須有相應(yīng)的權(quán)限才可以,這也是受到AOL安全模型限制的一個體現(xiàn)。

登錄EBS后切換到Integrated SOA Gateway職責(zé),在 Integration Repositoy 中找出已經(jīng)上傳好的客戶化集成接口,選擇接口過程和方法

后點擊Create Grant 按鈕

選擇授權(quán)類型:All Users、Group of Users 和 Specific USer,下面設(shè)置為最后一種方式

11.完成以上工作后,點擊Generate WSDL按鈕來生成集成接口對應(yīng)的Web服務(wù)WSDL信息

成功完成后可以看到如下Web服務(wù)的狀態(tài)為:Generated

點擊 Deploy 按鈕來發(fā)布Web服務(wù)到中間服務(wù)器中,發(fā)布后Web服務(wù)的狀態(tài)為: Deployed

-----------------------------------------------

12.如果在測試中報java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: For input

string: ""

執(zhí)行以下操作:

cd $ORA_CONFIG_HOME/10.1.3/j2ee/forms/config/oc4j.properties

注釋代理服務(wù)

#http.proxyHost=

#http.proxyPort=

重啟服務(wù)

13.如果填寫信息提交后會報出 wsse:FailedAuthentication 這樣的錯誤信息,這是由于提交的Soap消息中并沒有包括Oracle

Integration Repository要求的AOL安全認證,即沒有Oracle EBS系統(tǒng)要求的用戶、職責(zé)、安全組和語言信息,也就是沒有進行Oracle

EBS的環(huán)境初始化

wsdl文件路徑/ebsr12/test/inst/apps/TEST_scmdev/soa/PLSQL/4343

此問題可以通過修改wsdl文件來解決

01刪除CUX_SUPPLIER_PKG_soap.wsdl中

element name="SOAHeader"

complexType

sequence

element name="Responsibility" minOccurs="0" type="string"/

element name="RespApplication" minOccurs="0" type="string"/

element name="SecurityGroup" minOccurs="0" type="string"/

element name="NLSLanguage" minOccurs="0" type="string"/

element name="Org_Id" minOccurs="0" type="string"/

/sequence

/complexType

/element

02刪除CUX_SUPPLIER_PKG_soap_http.wsdl中

element name="SOAHeader"

complexType

sequence

element name="Responsibility" minOccurs="0" type="string"/

element name="RespApplication" minOccurs="0" type="string"/

element name="SecurityGroup" minOccurs="0" type="string"/

element name="NLSLanguage" minOccurs="0" type="string"/

element name="Org_Id" minOccurs="0" type="string"/

/sequence

/complexType

/element

修改后點擊invoke,如出現(xiàn)“處理服務(wù)時出錯”,進行如下處理

/ebsr12/test/inst/apps/TEST_scmdev/soa/PLSQL/4343/F_INSERT_APPROVE_RESULT.wsdl

查看這個文件的內(nèi)容

jcaperation

PackageName=”O(jiān)RACLESEEKER_DEPT_PKG”

ProcedureName=”ADD_DEPARTMENT”

IRepInternalName=”PLSQL:ORACLESEEKER_DEPT_PKG:ADD_DEPARTMENT”

IRepOverloadSeq=”1〃

InteractionSpec=”oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec”

/jcaperation

oracle中的存儲過程有什么作用,該怎么理解?(數(shù)據(jù)更新的話用update語句不就完了嗎)

1.存儲過程可以使得程序執(zhí)行效率更高、安全性更好,因為過程建立之后 已經(jīng)編譯并且儲存到數(shù)據(jù)庫,直接寫sql就需要先分析再執(zhí)行因此過程效率更高,直接寫sql語句會帶來安全性問題,如:sql注入

2.建立過程不會很耗系統(tǒng)資源,因為過程只是在調(diào)用才執(zhí)行。

3.存儲過程可以用于降低網(wǎng)絡(luò)流量,存儲過程代碼直接存儲于數(shù)據(jù)庫中,所以不會產(chǎn)生大量T-sql語句的代碼流量。

4.使用存儲過程使您能夠增強對執(zhí)行計劃的重復(fù)使用,由此可以通過使用遠程過程調(diào)用 (RPC) 處理服務(wù)器上的存儲過程而提高性能。RPC 封裝參數(shù)和調(diào)用服務(wù)器端過程的方式使引擎能夠輕松地找到匹配的執(zhí)行計劃,并只需插入更新的參數(shù)值。

5.可維護性高,更新存儲過程通常比更改、測試以及重新部署程序集需要較少的時間和精力。

6.代碼精簡一致,一個存儲過程可以用于應(yīng)用程序代碼的不同位置。

7.增強安全性:

a、通過向用戶授予對存儲過程(而不是基于表)的訪問權(quán)限,它們可以提供對特定數(shù)據(jù)的訪問;

b、提高代碼安全,防止 SQL注入(但未徹底解決,例如,將數(shù)據(jù)操作語言--DML,附加到輸入?yún)?shù));

c、SqlParameter 類指定存儲過程參數(shù)的數(shù)據(jù)類型,作為深層次防御性策略的一部分,可以驗證用戶提供的值類型(但也不是萬無一失,還是應(yīng)該傳遞至數(shù)據(jù)庫前得到附加驗證)。

Oracle 求一存儲過程帶輸入輸出參數(shù) 并且調(diào)用的實例

下面的例子代碼, ?僅僅用于演示 ?in ?out ?, ?沒有任何數(shù)據(jù)庫檢索的處理。

注:

Oracle?的?IN?OUT?寫在變量名后面。

SQL?CREATE?OR?REPLACE?PROCEDURE?HelloWorld2?(

2????p_user_name?IN?????VARCHAR2,

3????p_out_val???OUT????VARCHAR2,

4????p_inout_val?IN?OUT?VARCHAR2

5??)?AS

6??BEGIN

7?????dbms_output.put_line('Hello?'?||?p_user_name?||?p_inout_val?||?'!');

8?????p_out_val?:=?'A';

9?????p_inout_val?:=?'B';

10??END?HelloWorld2;

11??/

Procedure?created.

SQL?DECLARE

2????p_outval?VARCHAR2(10);

3????p_inoutval?VARCHAR2(10)?:=?'~Hi~';

4??BEGIN

5????HelloWorld2('Edward',?p_outval,?p_inoutval);

6

7????dbms_output.put_line('p_outval='?||?p_outval);

8????dbms_output.put_line('p_inoutval='?||?p_inoutval);

9??END;

10??/

Hello?Edward~Hi~!

p_outval=A

p_inoutval=B

PL/SQL?procedure?successfully?completed.

SQL

網(wǎng)上銀行怎么轉(zhuǎn)賬(網(wǎng)上銀行轉(zhuǎn)賬步驟分享)

第一、通過銀行自助柜員機將錢轉(zhuǎn)到別人的銀行卡上

我們可以通過銀行自助柜員機將錢轉(zhuǎn)賬到別人的銀行卡上,有兩種方式可以完成轉(zhuǎn)賬,一種是用現(xiàn)金直接存入到別人的銀行卡上,實現(xiàn)轉(zhuǎn)賬的目的,還有一種是通過銀行卡轉(zhuǎn)賬的方式將錢轉(zhuǎn)到別人的銀行卡上。

第二、通過第三方支付軟件將錢轉(zhuǎn)到別人的銀行卡上

我們還可以通過第三方支付軟件將錢轉(zhuǎn)到別人的銀行卡上,日常生活中比較常用的有支付寶、微信、云閃付等,登錄這些軟件后選擇轉(zhuǎn)賬選項,就可以將銀行卡上的錢轉(zhuǎn)到別人的銀行卡上。

第三、通過銀行柜臺將錢轉(zhuǎn)到別人的銀行卡上

我們還可以到銀行柜臺辦理轉(zhuǎn)賬業(yè)務(wù),將錢轉(zhuǎn)到別人的銀行卡上。銀行柜臺的工作人員會通過電匯的方式將我們卡上的錢轉(zhuǎn)到別人的銀行卡上,這是我們平常經(jīng)常使用的一種轉(zhuǎn)賬方式,但是通過電匯的方式會產(chǎn)生一定的轉(zhuǎn)賬手續(xù)費。

第四、通過銀行的網(wǎng)上銀行將錢轉(zhuǎn)到別人的銀行卡上

我們還可以通過銀行卡對應(yīng)的網(wǎng)上銀行將錢轉(zhuǎn)到別人的銀行卡上。網(wǎng)上銀行進行轉(zhuǎn)賬的手續(xù)非常便捷,我們只要登錄網(wǎng)上銀行,找到轉(zhuǎn)賬業(yè)務(wù)板塊,輸入收款方的銀行帳號、戶名、開戶行信息就可以完成資金的轉(zhuǎn)賬,大部分的銀行在一定的額度內(nèi)轉(zhuǎn)賬不需要支付手續(xù)費,非常方便。

網(wǎng)站標題:oracle怎么實現(xiàn)轉(zhuǎn)賬,sql轉(zhuǎn)oracle
分享地址:http://www.muchs.cn/article4/phjiie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司營銷型網(wǎng)站建設(shè)、商城網(wǎng)站、微信小程序、移動網(wǎng)站建設(shè)、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營