你看是否將自動提交關(guān)閉了,因為你的后面沒有commit 。建議將自動提交關(guān)閉,然后再ps.executeUpdate()后加上ct.commit(),然后再異常處理中加上事務(wù)回滾rollback
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的回民網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
LEFT([Ves_Berth],1) AS Berth_CT 是說取Ves_Berth這一列的從左邊算起第1個字符串 ,取名為Berth_CT
insert ..into...select... 就是說從YP_BS_Vessel查詢出Ves_Berth這一列的從左邊算起第1個字符插入到這個VESSEL_CALL表,并且插入的順序是根據(jù)表YP_BS_Vessel中的Ves_ETB字段排序過的
create?Table?T
(
id?int,
a??int,
b??int
)
Insert?into?t?values(1,1,1)????
Insert?into?t?values(2,2,1)????
Insert?into?t?values(3,3,1)??
Insert?into?t?values(4,4,1)????
Insert?into?t?values(5,5,1)???
Insert?into?t?values(6,6,1)???
/*思路:
id可能不連續(xù),所以先用id排序,產(chǎn)生一個記錄號id2
然后按3條記錄一組產(chǎn)生一個分組號G,接著按G分組求和,id取最大
最后更新
*/
With?CT
AS
(
Select?max(id)?As?id,SUM(a)?As?A,SUM(B)?As?B
from
(
Select?*,(id2+2)/3?As?G?
from?(Select?*,ROW_NUMBER()?over(order?by?id)?As?id2?from?T)?S
)M?Group?by?G
)
Update?T?Set?a=CT.A-T.a,b=CT.B-T.b
From?CT
where?T.id=CT.id
開放性: \x0d\x0a\x0d\x0aSQL Server \x0d\x0a只能在windows上運行,沒有絲毫的開放性,操作系統(tǒng)的系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫是十分重要的。Windows9X系列產(chǎn)品是偏重于桌面應(yīng)用NT server只適合中小型企業(yè)。而且windows平臺的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經(jīng)考驗,尤其是在處理大數(shù)據(jù)。 \x0d\x0a\x0d\x0aOracle \x0d\x0a能在所有主流平臺上運行(包括 windows)。完全支持所有的工業(yè)標(biāo)準(zhǔn)。采用完全開放策略。可以使客戶選擇最適合的解決方案。對開發(fā)商全力支持。 \x0d\x0a\x0d\x0aSybase ASE \x0d\x0a能在所有主流平臺上運行(包括 windows)。 但由于早期Sybase與OS集成度不高,因此VERSION 11.9.2以下版本需要較多OS和 DB級補丁。在多平臺的混合環(huán)境中,會有一定問題。 \x0d\x0a\x0d\x0aDB2 \x0d\x0a能在所有主流平臺上運行(包括windows)。最適于海量數(shù)據(jù)。DB2在企業(yè)級的應(yīng)用最為廣泛,在全球的500家最大的企業(yè)中,幾乎85%以上用DB2數(shù)據(jù)庫服務(wù)器,而國內(nèi)到97年約占5%。 \x0d\x0a\x0d\x0a可伸縮性,并行性 \x0d\x0a\x0d\x0aSQL Server \x0d\x0a并行實施和共存模型并不成熟。很難處理日益增多的用戶數(shù)和數(shù)據(jù)卷。伸縮性有限。 \x0d\x0a\x0d\x0aOracle \x0d\x0a并行服務(wù)器通過使一組結(jié)點共享同一簇中的工作來擴展windownt的能力,提供高可用性和高伸縮性的簇的解決方案。如果windowsNT不能滿足需要,用戶可以把數(shù)據(jù)庫移到UNIX中。Oracle的并行服務(wù)器對各種UNIX平臺的集群機制都有著相當(dāng)高的集成度。 \x0d\x0a\x0d\x0aSybase ASE \x0d\x0a雖然有DB SWITCH來支持其并行服務(wù)器,但由于DB SWITCH在技術(shù)層面還未成熟,且只支持版本12.5以上的ASE SERVER,因為DB SWITCH技術(shù)需要一臺服務(wù)器充當(dāng)SWITCH.\x0d\x0a\x0d\x0aDB2 \x0d\x0a具有很好的并行性。DB2把數(shù)據(jù)庫管理擴充到了并行的、多節(jié)點的環(huán)境。數(shù)據(jù)庫分區(qū)是數(shù)據(jù)庫的一部分,包含自己的數(shù)據(jù)、索引、配置文件、和事務(wù)日志。數(shù)據(jù)庫分區(qū)有時被稱為節(jié)點.\x0d\x0a\x0d\x0a安全性 \x0d\x0aSQL Server \x0d\x0a沒有獲得任何安全證書。\x0d\x0a \x0d\x0aOracle Server \x0d\x0a獲得最高認(rèn)證級別的ISO標(biāo)準(zhǔn)認(rèn)證。 \x0d\x0a\x0d\x0aSybase ASE \x0d\x0a獲得最高認(rèn)證級別的ISO標(biāo)準(zhǔn)認(rèn)證。 \x0d\x0a\x0d\x0aDB2 \x0d\x0a獲得最高認(rèn)證級別的ISO標(biāo)準(zhǔn)認(rèn)證。 \x0d\x0a\x0d\x0a性能 \x0d\x0aSQL Server \x0d\x0a多用戶時性能不佳 \x0d\x0a\x0d\x0aOracle \x0d\x0a性能最高, 保持開放平臺下的TPC-D和TPC-C的世界記錄。 \x0d\x0a\x0d\x0aSybase ASE \x0d\x0a性能接近于 SQL Server。但在UNIX平臺下的并發(fā)性要優(yōu)與 SQL Server。 \x0d\x0a\x0d\x0aDB2 \x0d\x0a性能較高適用于數(shù)據(jù)倉庫和在線事物處理。 \x0d\x0a\x0d\x0a客戶端支持及應(yīng)用模式 \x0d\x0aSQL Server \x0d\x0aC/S結(jié)構(gòu),只支持windows客戶,可以用ADO,DAO,OLEDB,ODBC連接. \x0d\x0a\x0d\x0aOracle \x0d\x0a多層次網(wǎng)絡(luò)計算,支持多種工業(yè)標(biāo)準(zhǔn),可以用ODBC,JDBC,OCI等網(wǎng)絡(luò)客戶連接。 \x0d\x0a\x0d\x0aSybase ASE \x0d\x0aC/S結(jié)構(gòu),可以用ODBC,Jconnect,Ct-library等網(wǎng)絡(luò)客戶連接。 \x0d\x0a\x0d\x0aDB2 \x0d\x0a跨平臺,多層結(jié)構(gòu),支持ODBC,JDBC等客戶 \x0d\x0a操作簡便 \x0d\x0a\x0d\x0aSQL Server \x0d\x0a操作簡單,但只有圖形界面。\x0d\x0a \x0d\x0aOracle \x0d\x0a較復(fù)雜,同時提供GUI和命令行,在windowsNT和unix下操作相同 \x0d\x0a\x0d\x0aSybase ASE \x0d\x0a較復(fù)雜,同時提供GUI和命令行。但GUI較差,常常無法及時狀態(tài),建議使用命令行。 \x0d\x0a\x0d\x0aDB2 \x0d\x0a操作簡單,同時提供GUI和命令行,在windowsNT和unix下操作相同 \x0d\x0a\x0d\x0a使用風(fēng)險 \x0d\x0aSQL Server \x0d\x0a完全重寫的代碼,經(jīng)歷了長期的測試,不斷延遲,許多功能需要時間來證明。并不十分兼 \x0d\x0a\x0d\x0aOracle \x0d\x0a長時間的開發(fā)經(jīng)驗,完全向下兼容。得到廣泛的應(yīng)用。完全沒有風(fēng)險。 \x0d\x0a\x0d\x0aSybase ASE \x0d\x0a向下兼容, 但是ct-library 程序不益移植。 \x0d\x0a\x0d\x0aDB2 \x0d\x0a在巨型企業(yè)得到廣泛的應(yīng)用,向下兼容性好。風(fēng)險小。 \x0d\x0a經(jīng)過上述比較,我們不難發(fā)現(xiàn),DB2是最好的數(shù)據(jù)庫。
不能建立到sqlserver2000的連接,這可能是沒有安裝sqlserver2000的sp4補丁的原因,不安裝sp4補丁的話1433端口打不開,建議下載安裝。
補充:還是下面這個錯誤嗎?
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
如果是的話
1。再檢查一下數(shù)據(jù)庫名稱,用戶名和密碼是否正確。注意DatabaseName不是表名,而是數(shù)據(jù)庫的名稱。
2。確保你的sqlserver2000的登陸驗證方式是混合登陸驗證。
如果上述仍無法解決的話,我也沒有辦法了。
那你要看用到的是哪個目錄上面的BCP。可能系統(tǒng)默認(rèn)的是調(diào)用了Sybase里面的BCP,你可以到SQL Server的目錄里面執(zhí)行里面的BCP試下