2011年3月22日 星期二

SQL SERVER Mail呼叫預存程式(sp_send_cdosysmail)-第二篇

提供呼叫並發送Mail

declare @Body nvarchar(4000)
declare @strEmail varchar(1000)
Set @strEmail = 'irol@mail.ptc.net.tw,abc@gamil.com'
select @Body = '錯誤時間:' + CONVERT(varchar, GETDATE(),120) + '錯誤訊息:五碼每日郵碼同步過程發生失敗,以昨日資料取代'
exec sp_send_cdosysmail 'user@ptc.net.tw',@strEmail,'DTS[DTS_ZIP_MASTER]在執行過程中遭遇失敗,請相關人員進行確認!!',@Body
go


declare @Body nvarchar(4000)
declare @strPhone varchar(1000)
set @strPhone = '0937581311'
select @Body = 'user:xxxx
pw:xxx
isLong:false
mobile:' + @strPhone
exec sp_send_cdosysmail 'user@ptc.net.tw','abc@abc2.com;user@ptc.net.tw','DTS[DTS_ZIP_MASTER]五碼每日郵碼同步過程發生失敗,以昨日資料取代',@Body

SQL SERVER Mail呼叫預存程式(sp_send_cdosysmail)-第一篇

提供SQL SERVER Mail呼叫預存程式

CREATE PROCEDURE [dbo].[sp_send_cdosysmail]
@From varchar(100) ,
@To varchar(100) ,
@Subject varchar(100)=" ",
@Body varchar(4000) =" "
/*********************************************************************

This stored procedure takes the parameters and sends an e-mail.
All the mail configurations are hard-coded in the stored procedure.
Comments are added to the stored procedure where necessary.
References to the CDOSYS objects are at the following MSDN Web site:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_messaging.asp

***********************************************************************/
AS
Declare @iMsg int
Declare @hr int
Declare @source varchar(255)
Declare @description varchar(500)
Declare @output varchar(1000)




--************* Create the CDO.Message Object ************************
EXEC @hr = sp_OACreate 'CDO.Message', @iMsg OUT

--***************Configuring the Message Object ******************
-- This is to configure a remote SMTP server.
-- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_schema_configuration_sendusing.asp
EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2'
-- This is to configure the Server Name or IP address.
-- Replace MailServerName by the name or IP of your SMTP Server.
EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', '10.99.99.99

-- Save the configurations to the message object.
EXEC @hr = sp_OAMethod @iMsg, 'Configuration.Fields.Update', null

-- Set the e-mail parameters.
EXEC @hr = sp_OASetProperty @iMsg, 'To', @To
EXEC @hr = sp_OASetProperty @iMsg, 'From', @From
EXEC @hr = sp_OASetProperty @iMsg, 'Subject', @Subject


-- If you are using HTML e-mail, use 'HTMLBody' instead of 'TextBody'.
EXEC @hr = sp_OASetProperty @iMsg, 'TextBody', @Body
EXEC @hr = sp_OAMethod @iMsg, 'Send', NULL

-- Sample error handling.
IF @hr <>0
select @hr
BEGIN
EXEC @hr = sp_OAGetErrorInfo NULL, @source OUT, @description OUT
IF @hr = 0
BEGIN
SELECT @output = ' Source: ' + @source
PRINT @output
SELECT @output = ' Description: ' + @description
PRINT @output
END
ELSE
BEGIN
PRINT ' sp_OAGetErrorInfo failed.'
RETURN
END
END

-- Do some error handling after each step if you have to.
-- Clean up the objects created.
EXEC @hr = sp_OADestroy @iMsg
GO

2011年3月17日 星期四

SQL 交易機制範例

範例一:用於批次
DECLARE @ReturnCode INT
SET                  @ReturnCode = 0
BEGIN TRANSACTION
BEGIN
                          EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule
                           @job_id = @JobID, @name = N'Schedule1', @enabled = 1, @freq_type = 1,
                          @active_start_date = 20110312,
END
IF (@@ERROR <> 0 OR @ReturnCode <> 0)  GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:

範例二:
BEGIN TRAN

Delete  from AddressNumber where PostCode not in (Select ZIP_ID  From vZip_Master)  and PostCode is not null
 IF @@ERROR <> 0
 BEGIN
  ROLLBACK TRAN
  RETURN
 END

Delete  from Alley where PostCode not in (Select ZIP_ID  From vZip_Master)  and PostCode is not null
 IF @@ERROR <> 0
 BEGIN
  ROLLBACK TRAN
  RETURN
 END

Delete  from Road where PostCode not in (Select ZIP_ID  From vZip_Master)  and PostCode is not null
 IF @@ERROR <> 0
 BEGIN
  ROLLBACK TRAN
  RETURN
 END
Delete  from Section where PostCode not in (Select ZIP_ID  From vZip_Master)  and PostCode is not null
 IF @@ERROR <> 0
 BEGIN
  ROLLBACK TRAN
  RETURN
 END
Delete  from SpecialZip where zip not in (Select ZIP_ID  From vZip_Master)  and zip is not null
 IF @@ERROR <> 0
 BEGIN
  ROLLBACK TRAN
  RETURN
 END

COMMIT TRAN

2011年3月10日 星期四

[信長之野望online]人取橋攻略流程

人取橋全地圖:










































人取一王:
新城盛繼,NPC團隊以物攻高為主要特色。
重要技能:決死的暗殺術,強力攻擊力上升。
擊破順序:4 5 1 2 3
擊破說明:
4 & 5 會守護先殺,隔回踢1。副盾需要[要人守護],另外1一定要拉住,因為打到後衛幾乎秒殺。
流程:
1.從起點下山,山腳下有伊達政宗
2.政宗前有兩隻二本松一門眾,把這兩隻擊破(血很多)
3.二本松一門眾擊破後,附近POP出新城繼盛
4.點新城繼盛並擊破就過關了
Video:



人取二王:
相馬義胤 ,NPC團隊以術攻疊加為主要特色。
重要技能:陸奧凶風,全體持續扣血+術耐性15%下降
擊破順序:5 1 6 2 4 3
擊破說明:
5 會一所懸命/守護/奔落 先殺。術忍負責減殺及隔回抖1,5血剩一半,要注意6會發動準備恢復,可直接抓法沉默或者止術。副盾沒事的話可以[要人守護]一下。能樂負責唱+九死+康復。
[補充]能樂可以換神典,開場神唱藥師後[月弓],當5血剩一點時,神典可直接補刀,另外有空也可以幫打手[荒蕪],是很不錯的打法。

擊破組合:術忍 忍法 高醫 武士 鎧鍛 能樂 陰陽
流程:
1.擊破相馬家精銳 (POP相馬隆胤)
2.擊破相馬隆胤 (POP相馬義胤)
3.擊破相馬義胤
Video:


人取三王(弱體):
佐竹義宣 ,NPC團隊以術攻強襲主要特色。(減殺對部分法術無效 1有妖周天)
重要技能: 六花之舞,全體術攻3600(佐竹流軍學發動成功下) 。
                 佐竹流軍學,場上所有不分敵我傷害x2
擊破順序:2 1 5 4 3
擊破說明:2會一所懸命/守護/奔落/[佐竹流軍學] 先殺,術忍開場減殺及負責沉默4(準備時機率接近100%)。2血剩一半,要注意5會發動準備恢復,可直接抓法沉默或者止術。副盾拉2 and 3且[要人守護],刀盾使忍耐技能單拉1。
人三若戰鬥中掛,外頭如果沒有清NPC,直接戰鬥中復活,因為外面NPC都已經復活,重跑的話,進不來戰鬥。


擊破組合:術忍 忍法 佛僧 武士 刀鍛 古神 演武
流程:
1.擊破義宣親衛隊x2
2.佐竹義宣對話(選擇不戰鬥 POP佐竹義斯)
3.擊破佐竹義斯
4.佐竹義宣對話(選擇不戰鬥 POP小貫賴久)
5.擊破小貫賴久(城寨POP佐竹義宣)
6.往城寨中移動(路上紅怪多 建議一門夥伴先幫忙打)
7.城寨上有機槍別站太近
Video:

人取四王:
佐竹義重 ,本場特色是與NPC一起共鬥,三位玩家+四位NPC
重要技能: 鬼義重居合斬,全體劍風4000左右傷害(佐竹流軍學發動成功下) 。
                 佐竹流軍學,場上所有不分敵我傷害x2
擊破順序:7 6 1 2 3 4 5
擊破說明:能樂開場九死一生,另外吉祥、康復也不錯。能樂要抓五分鐘施放[逆風之謠],可降低[鬼義重居合斬]的傷害,可以在NPC發動佐竹流軍學後接逆風,另外幫兩隻會恢復的NPC唱。佛僧只要一般雙補兩隻盾,顧好旗頭,不需要被唱。忍法識破的話,可抓時間放[結界四]也可降低[鬼義重居合斬]的傷害,空檔之餘可吹箭,7血剩1/3會全體完全恢復,要注意止術。
建議場外要有復活役及血氣恢復役,掛掉後馬上場外復活,補滿血氣,直接進場支援。


擊破組合:忍法 佛僧 能樂

流程:
1.橋上鬼庭左月齋對話( POP 二階堂輝隆[砲NPC] 及 白河義親)
2.擊破 二階堂輝隆
3.擊破 白河義親
4.回橋上點擊 岩城常隆 開戰 (TEAM 1)
5.回橋上點擊 佐竹義重 開戰 (TEAM 2)

6.岩城常隆點擊後三分鐘在點佐竹,擊破岩城後 , 佐竹義重就可以慢慢打就可以了
7.打 二階堂輝隆 記得掛 空蟬
Video: