你的意思是從一個表里面查到2列數(shù)值,然后想把這2列作為下一個SQL的where條件吧?
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)赤城,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
第一步:變量和目標(biāo)表的準(zhǔn)備
這個對應(yīng)于你說的2列變量值
這個是我在數(shù)據(jù)庫里面創(chuàng)建的一張student表? 對應(yīng)字段? id?? name?? score
第二步:搭建處理環(huán)境
在這兒? where條件里的第一個問號對應(yīng)的是傳過來的第一個參數(shù)(ID)? 第二個問號對應(yīng)的是傳過來的第二個參數(shù)(NAME)?? PS:要是你把SQL寫成? where name = ? and id = ?就會出錯的。
勾選“替換SQL語句里的變量“和”執(zhí)行每一行“?。
拓?fù)鋱D如下:
結(jié)果如下:
您好,這樣的:
J2ME j2me 在構(gòu)建期間出錯,該怎么解決
j2me 在構(gòu)建期間出錯在構(gòu)建期間出錯。 對項(xiàng)目 chatroom 運(yùn)行構(gòu)建器“Preverification”時出錯。 Illegal Manifest Entry Key or Value "E:\j2me
C# 【意欲運(yùn)行項(xiàng)目時出錯】
【試圖運(yùn)行項(xiàng)目時出錯】各位高手大家好,我有一項(xiàng)目在調(diào)試時出現(xiàn)如下錯誤:“試圖運(yùn)行項(xiàng)目時出錯:Could not load file or assembly '項(xiàng)目名稱'or one of its dependencies. The module was expected to contain an assembly
軟件架構(gòu)設(shè)計 運(yùn)用maven、jaxb等技術(shù)構(gòu)建可配置編譯打包及可配置項(xiàng)目運(yùn)行
使用maven、jaxb等技術(shù)構(gòu)建可配置編譯打包及可配置項(xiàng)目運(yùn)行 一、說在前面apache ant是以個非常流行的項(xiàng)目構(gòu)建打包開源工具。在很長一段時間里,ant簡化了我們項(xiàng)目構(gòu)建打包的過程,使得我們項(xiàng)目部署的速度有了大幅的提升。然而,熟悉ant使用的朋友可能與我都有一個切身的感受:當(dāng)我們在使用ant進(jìn)行項(xiàng)目
J2SE 運(yùn)行WEB項(xiàng)目時出錯,請教這是為什么
運(yùn)行WEB項(xiàng)目時出錯,請問這是為什么?HTTP Status 500 - type Exception report message description The server
單片機(jī) 項(xiàng)目運(yùn)行后總出錯,該怎么解決
項(xiàng)目運(yùn)行后總出錯小弟是ARM的新手。。按照書上的例子寫了幾個例子,但都出現(xiàn)一樣的錯誤。 錯誤描述: make通過后運(yùn)行,運(yùn)行完自己寫的程序后出現(xiàn)錯誤提示:未定義的指令.如下: Processor ARM7TDMI raised
Eclipse Eclipse+Tomcat加載項(xiàng)目后,起步運(yùn)行出錯,超時啦
Eclipse+Tomcat加載項(xiàng)目后,啟動運(yùn)行出錯,超時啦! 依舊菜鳥級問題,放在我的博客里,我好找,大神繞行。 在Eclipse中用Tomcat啟動服務(wù)端工程,一啟動就會出錯,報錯如下: “Server Tomcat v6.0 Server at localhost was unable
編程 strtus2項(xiàng)目,tomcat通常啟動后,出錯。但程序可以運(yùn)行
strtus2項(xiàng)目,tomcat正常啟動后,出錯。但程序可以運(yùn)行。 strtus2項(xiàng)目,tomcat正常啟動后,出錯。但程序可以運(yùn)行。錯誤代碼:[ERROR] [http-8080-2] - org.apache.struts2.dispatcher.Dispatcher
Flex flex與jsp項(xiàng)目整合時運(yùn)行jsp出錯的解決辦法
flex與jsp項(xiàng)目整合時運(yùn)行jsp出錯的解決方法 如題:使用SSH與flex整合,使用myeclipse及myeclipse的flex插件,將項(xiàng)目部署到tomcat中,運(yùn)行時會發(fā)現(xiàn),訪問jsp頁面會出現(xiàn)錯誤如下:org.apache.jasper.JasperException
Sql Server vs2008 意欲運(yùn)行項(xiàng)目時出錯:無法啟動調(diào)試
vs2008 試圖運(yùn)行項(xiàng)目時出錯:無法啟動調(diào)試環(huán)境:win7 profressional vs2008 team 。 今天突然電腦的vs2008出現(xiàn)無法調(diào)試winform的項(xiàng)目的問題了。并且無法安裝上silverlighttool3 工具包
J2ME eclipse導(dǎo)入的j2me源代碼為啥必須“構(gòu)建項(xiàng)目”才能運(yùn)行?完后放到真機(jī)就不能運(yùn)行
eclipse導(dǎo)入的j2me源代碼為什么必須“構(gòu)建項(xiàng)目”才能運(yùn)行?完后放到真機(jī)就不能運(yùn)行!我一個游戲的源代碼,想把它源代碼放到eclipse中編輯,但運(yùn)行時提示:“通過存儲根 DefaultColorPhone 來運(yùn)行 java.lang.ClassNotFoundException
C# 運(yùn)行C#項(xiàng)目(不是ASP.NET項(xiàng)目),出現(xiàn)提示:試圖運(yùn)行項(xiàng)目時出錯:無法啟動調(diào)試。進(jìn)程已經(jīng)終止。解決方案
運(yùn)行C#項(xiàng)目(不是ASP.NET項(xiàng)目),出現(xiàn)提示:試圖運(yùn)行項(xiàng)目時出錯:無法啟動調(diào)試。進(jìn)程已經(jīng)終止。我在2005中,建立、運(yùn)行C#項(xiàng)目(不是ASP.NET項(xiàng)目)。想調(diào)試一下。但是出現(xiàn)提示:試圖運(yùn)行項(xiàng)目時出錯:無法啟動調(diào)試。進(jìn)程已經(jīng)終止。不知道什么原因呢? 我的Terminal Services服務(wù)已經(jīng)啟動了。非常謝謝
.NET Framework 出錯誤信息:試圖運(yùn)行項(xiàng)目時出錯,無法啟動調(diào)試,綁定句柄無效。
程序無法調(diào)試.Net2005,啟動調(diào)試或單步運(yùn)行,出錯誤信息:試圖運(yùn)行項(xiàng)目時出錯,無法啟動調(diào)試,綁定句柄無效。編譯運(yùn)行卻是正常。機(jī)器以前裝過vs2005,當(dāng)時正常,最近系統(tǒng)壞重裝便是這樣解決方案 第一種方法: 打開項(xiàng)目屬性,選擇調(diào)試選項(xiàng)卡,將“啟用非托管代碼調(diào)試”一項(xiàng)鉤上。 第二種
C# 運(yùn)行WEB項(xiàng)目出現(xiàn)異常,生成成功,運(yùn)行出錯(有詳細(xì)說明)
運(yùn)行WEB項(xiàng)目出現(xiàn)錯誤,生成成功,運(yùn)行出錯(有詳細(xì)說明)錯誤信息如下“/WorkFlowWeb”應(yīng)用程序中的服務(wù)器錯誤。配置錯誤 說明: 在處理向該請求提供服務(wù)所需的配置文件時出錯。請檢查下面的特定錯誤詳細(xì)信息并適當(dāng)?shù)匦薷呐渲梦募? 分析器錯誤信息: 找到的名為“CJHMathLib
VB Dotnet VB.net運(yùn)行時提示:試圖運(yùn)行項(xiàng)目時出錯,無法啟動調(diào)試,綁定句柄無效?。ǎ?/p>
VB.net運(yùn)行時提示:試圖運(yùn)行項(xiàng)目時出錯,無法啟動調(diào)試,綁定句柄無效?。ㄔ诰€等)VB.net運(yùn)行時提示:試圖運(yùn)行項(xiàng)目時出錯,無法啟動調(diào)試,綁定句柄無效?。ㄔ诰€等)解決方案VS2005.NET提示 "試圖運(yùn)行項(xiàng)目時出錯,無法啟動調(diào)試,綁定句柄無效 "解決辦法 不要急著重裝.在菜單欄里面選擇
ASP.NET 試圖運(yùn)行的項(xiàng)目時出錯:無法在web服務(wù)器上啟動調(diào)試解決辦法
試圖運(yùn)行的項(xiàng)目時出錯:無法在web服務(wù)器上啟動調(diào)試試圖運(yùn)行的項(xiàng)目時出錯:無法在web服務(wù)器上啟動調(diào)試。服務(wù)器不支持對asp.net或atl server應(yīng)用程序進(jìn)行調(diào)試。請運(yùn)行安裝程序以安裝visual studio .net 服務(wù)器組件。
要使用從上一步傳來的參數(shù),只要在使用SQL進(jìn)行引用就可以。
ps:對應(yīng)的拓?fù)浣Y(jié)構(gòu):
ETL:
是“Extract、 Transform 、Load”的縮寫,也就是代表ETL過程的三個最主要步驟:“抽取、轉(zhuǎn)換、裝載”,但我們平時往往簡稱其為數(shù)據(jù)抽取。
Kettle:
是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運(yùn)行,綠色無需安裝,數(shù)據(jù)抽取高效穩(wěn)定。Kettle 中文名稱叫水壺,該項(xiàng)目的主程序員MATT 希望把各種數(shù)據(jù)放到一個壺里,然后以一種指定的格式流出。
1、DataPipeline
DataPipeline 隸屬于北京數(shù)見科技有限公司,是一家企業(yè)級批流一體數(shù)據(jù)融合服務(wù)商和解決方案提供商,國內(nèi)實(shí)時數(shù)據(jù)管道技術(shù)的倡導(dǎo)者。
通過平臺和技術(shù)為企業(yè)客戶解決數(shù)據(jù)準(zhǔn)備過程中的各種痛點(diǎn),幫助客戶更敏捷、更高效、更簡單地實(shí)現(xiàn)復(fù)雜異構(gòu)數(shù)據(jù)源到目的地的實(shí)時數(shù)據(jù)融合和數(shù)據(jù)管理等綜合服務(wù)。
從而打破傳統(tǒng) ETL 給客戶靈活數(shù)據(jù)應(yīng)用帶來的束縛,讓數(shù)據(jù)準(zhǔn)備過程不再成為數(shù)據(jù)消費(fèi)的瓶頸。
2、Kettle
Kettle是一款國外開源的ETL工具,純java編寫,可以在Windows、Linux、Unix上運(yùn)行,數(shù)據(jù)抽取高效穩(wěn)定。
Kettle 中文名稱叫水壺,該項(xiàng)目的主程序員MATT 希望把各種數(shù)據(jù)放到一個壺里,然后以一種指定的格式流出。
3、Talend
Talend 是數(shù)據(jù)集成解決方案領(lǐng)域的領(lǐng)袖企業(yè),為公共云和私有云以及本地環(huán)境提供一體化的數(shù)據(jù)集成平臺。Talend的使命是致力于幫助客戶優(yōu)化數(shù)據(jù),提高數(shù)據(jù)可靠性,把企業(yè)數(shù)據(jù)更快地轉(zhuǎn)化為商業(yè)價值。
以此為使命,Talend的解決方案將數(shù)據(jù)從傳統(tǒng)基礎(chǔ)架構(gòu)中解放出來,提高客戶在業(yè)務(wù)中的洞察力,讓客戶更早實(shí)現(xiàn)業(yè)務(wù)價值。
4、Informatica
Informatica是全球領(lǐng)先的數(shù)據(jù)管理軟件提供商。
在如下Gartner魔力象限位于領(lǐng)導(dǎo)者地位:數(shù)據(jù)集成工具魔力象限、數(shù)據(jù)質(zhì)量工具魔力象限、元數(shù)據(jù)管理解決方案魔力象限、主數(shù)據(jù)管理解決方案魔力象限、企業(yè)級集成平臺即服務(wù)(EiPaaS)魔力象限。
5、DataStage
IBM? InfoSphere? Information Server 是一種數(shù)據(jù)集成軟件平臺,能夠幫助企業(yè)從散布在各個系統(tǒng)中的復(fù)雜異構(gòu)信息獲得更多價值。InfoSphere Information Server提供了一個統(tǒng)一的平臺, 使公司能夠了解、清理、變換和交付值得信賴且上下文豐富的信息。
IBM? InfoSphere? DataStage? and QualityStage? 提供了圖形框架,您可使用該框架來設(shè)計和運(yùn)行用于變換和清理、加載數(shù)據(jù)的作業(yè)。
參考資料:DataPipeline官網(wǎng)-關(guān)于我們
參考資料:百度百科-Kettle
參考資料:百度百科-Talend
參考資料:百度百科-Informatica
參考資料:百度百科-DataStage
幾種 ETL 工具的比較(DataPipeline,Kettle,Talend,Informatica等)
四種工具的比較主要從以下幾方面進(jìn)行比對:
1、成本:
軟件成本包括多方面,主要包括軟件產(chǎn)品, 售前培訓(xùn), 售后咨詢, 技術(shù)支持等。
開源產(chǎn)品本身是免費(fèi)的,成本主要是培訓(xùn)和咨詢,所以成本會一直維持在一個較低水平。
商業(yè)產(chǎn)品本身價格很高,但是一般會提供幾次免費(fèi)的咨詢或支持,所以采用商用軟件最初成本很高,但是逐漸下降。
手工編碼最初成本不高,主要是人力成本,但后期維護(hù)的工作量會越來越大。
2、易用性:
DataPipeline: 有非常容易使用的 GUI,具有豐富的可視化監(jiān)控;
Kettle: GUI+Coding;
Informatica: GUI+Coding,有GUI,但是要專門的訓(xùn)練;
Talend:GUI+Coding,有 GUI 圖形界面但是以 Eclipse 的插件方式提供;
3、技能要求:
DataPipeline:操作簡單,無技術(shù)要求;
Kettle: ETL設(shè)計, SQL, 數(shù)據(jù)建模 ;
Informatica: ETL設(shè)計, SQL, 數(shù)據(jù)建模;
Talend:需要寫Java;
4、底層架構(gòu):
DataPipeline:分布式,可水平擴(kuò)展;
Kettle:主從結(jié)構(gòu)非高可用;
Informatica:分布式;
Talend:分布式;
5、數(shù)據(jù)實(shí)時性:
DataPipeline:支持異構(gòu)數(shù)據(jù)源的實(shí)時同步,速度非???;
Kettle:不支持實(shí)時數(shù)據(jù)同步;
Informatica:支持實(shí)時,效率較低;
Talend:支持實(shí)時處理,需要購買高級版本,價格貴;
6、技術(shù)支持:
DataPipeline:本地化原廠技術(shù)支持;
Kettle:無;
Informatica:主要在美國;
Talend:主要在美國;
7、自動斷點(diǎn)續(xù)傳:
DataPipeline:支持;
Kettle:不支持;
Informatica:不支持;
Talend:不支持;
對于做過 BI 開發(fā)的朋友,ETL 并不陌生,只要涉及到數(shù)據(jù)源的數(shù)據(jù)抽取、數(shù)據(jù)的計算和處理過程的開發(fā),都是 ETL,ETL 就這三個階段,Extraction 抽取,Transformation 轉(zhuǎn)換,Loading 加載。
從不同數(shù)據(jù)源抽取數(shù)據(jù) EXTRACTION ,按照一定的數(shù)據(jù)處理規(guī)則對數(shù)據(jù)進(jìn)行加工和格式轉(zhuǎn)換 TRASFORMATION,最后處理完成的輸出到目標(biāo)數(shù)據(jù)表中也有可能是文件等等,這個就是 LOADING。
再通俗一點(diǎn)講,ETL 的過程就跟大家日常做菜一樣,需要到菜市場的各個攤位買好菜,把菜買回來要摘一下,洗一洗,切一切最后下鍋把菜炒好端到飯桌上。菜市場的各個攤位就是數(shù)據(jù)源,做好的菜就是最終的輸出結(jié)果,中間的所有過程像摘菜、洗菜、切菜、做菜就是轉(zhuǎn)換。
在開發(fā)的時候,大部分時候會通過 ETL 工具去實(shí)現(xiàn),比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微軟 SQL SERVER 里面的 SSIS 等等,在結(jié)合基本的 SQL 來實(shí)現(xiàn)整個 ETL 過程。
也有的是自己通過程序開發(fā),然后控制一些數(shù)據(jù)處理腳本跑批,基本上就是程序加 SQL 實(shí)現(xiàn)。
哪種方式更好,也是需要看使用場景和開發(fā)人員對那種方式使用的更加得心應(yīng)手。我看大部分軟件程序開發(fā)人員出身的,碰到數(shù)據(jù)類項(xiàng)目會比較喜歡用程序控制跑批,這是程序思維的自然延續(xù)。純 BI 開發(fā)人員大部分自然就選擇成熟的 ETL 工具來開發(fā),當(dāng)然也有一上來就寫程序腳本的,這類 BI 開發(fā)人員的師傅基本上是程序人員轉(zhuǎn)過來的。
用程序的好處就是適配性強(qiáng),可擴(kuò)展性強(qiáng),可以集成或拆解到到任何的程序處理過程中,有的時候使用程序開發(fā)效率更高。難就難在對維護(hù)人員有一定的技術(shù)要求,經(jīng)驗(yàn)轉(zhuǎn)移和可復(fù)制性不夠。
用 ETL 工具的好處,第一是整個 ETL 的開發(fā)過程可視化了,特別是在數(shù)據(jù)處理流程的分層設(shè)計中可以很清晰的管理。第二是鏈接到不同數(shù)據(jù)源的時候,各種數(shù)據(jù)源、數(shù)據(jù)庫的鏈接協(xié)議已經(jīng)內(nèi)置了,直接配置就可以,不需要再去寫程序去實(shí)現(xiàn)。第三是各種轉(zhuǎn)換控件基本上拖拉拽就可以使用,起到簡化的代替一部分 SQL 的開發(fā),不需要寫代碼去實(shí)現(xiàn)。第四是可以非常靈活的設(shè)計各種 ETL 調(diào)度規(guī)則,高度配置化,這個也不需要寫代碼實(shí)現(xiàn)。
所以在大多數(shù)通用的項(xiàng)目中,在項(xiàng)目上使用 ETL 標(biāo)準(zhǔn)組件開發(fā)會比較多一些。
ETL 從邏輯上一般可以分為兩層,控制流和數(shù)據(jù)流,這也是很多 ETL 工具設(shè)計的理念,不同的 ETL 工具可能叫法不同。
控制流就是控制每一個數(shù)據(jù)流與數(shù)據(jù)流處理的先后流程,一個控制流可以包含多個數(shù)據(jù)流。比如在數(shù)據(jù)倉庫開發(fā)過程中,第一層的處理是ODS層或者Staging 層的開發(fā),第二層是 DIMENSION維度層的開發(fā),后面幾層就是DW 事實(shí)層、DM數(shù)據(jù)集市層的開發(fā)。通過ETL的調(diào)度管理就可以讓這幾層串聯(lián)起來形成一個完整的數(shù)據(jù)處理流程。
數(shù)據(jù)流就是具體的從源數(shù)據(jù)到目標(biāo)數(shù)據(jù)表的數(shù)據(jù)轉(zhuǎn)換過程,所以也有 ETL 工具把數(shù)據(jù)流叫做轉(zhuǎn)換。在數(shù)據(jù)流的開發(fā)設(shè)計過程中主要就是三個環(huán)節(jié),目標(biāo)數(shù)據(jù)表的鏈接,這兩個直接通過 ETL 控件配置就可以了。中間轉(zhuǎn)換的環(huán)節(jié),這個時候就可能有很多的選擇了,調(diào) SQL 語句、存儲過程,或者還是使用 ETL 控件來實(shí)現(xiàn)。
有的項(xiàng)目上習(xí)慣使用 ETL 控件來實(shí)現(xiàn)數(shù)據(jù)流中的轉(zhuǎn)換,也有的項(xiàng)目要求不使用標(biāo)準(zhǔn)的轉(zhuǎn)換組件使用存儲過程來調(diào)用。也有的是因?yàn)閿?shù)據(jù)倉庫本身這個數(shù)據(jù)庫不支持存儲過程就只能通過標(biāo)準(zhǔn)的SQL來實(shí)現(xiàn)。
我們通常講的BI數(shù)據(jù)架構(gòu)師其實(shí)指的就是ETL的架構(gòu)設(shè)計,這是整個BI項(xiàng)目中非常核心的一層技術(shù)實(shí)現(xiàn),數(shù)據(jù)處理、數(shù)據(jù)清洗和建模都是在ETL中去實(shí)現(xiàn)。一個好的ETL架構(gòu)設(shè)計可以同時支撐上百個包就是控制流,每一個控制流下可能又有上百個數(shù)據(jù)流的處理過程。之前寫過一篇技術(shù)文章,大家可以搜索下關(guān)鍵字 BIWORK ETL 應(yīng)該在網(wǎng)上還能找到到這篇文章。這種框架設(shè)計不僅僅是ETL框架架構(gòu)上的設(shè)計,還有很深的ETL項(xiàng)目管理和規(guī)范性控制器思想,包括后期的運(yùn)維,基于BI的BI分析,ETL的性能調(diào)優(yōu)都會在這些框架中得到體現(xiàn)。因?yàn)榇蟮腂I項(xiàng)目可能同時需要幾十人來開發(fā)ETL,框架的頂層設(shè)計就很重要。