2013年8月28日 星期三

SQL SERVER LEAP YEAR(轉)


只適用在SQL SERVER 2012 參考
SQL SERVER – Detecting Leap Year in T-SQL using SQL

 SELECT (IIF(DATEPART(dd,(EOMONTH(CONCAT(1910,'0201')))) = 29,1,0))


其他版本SQL SERVER 參考



再加一個INFORMIX datediff


informix datediff

CREATE FUNCTION datediff
(in_type varchar(5),in_sdate integer, in_edate integer )
RETURNING integer ;
DEFINE p_sdate date;
DEFINE p_edate date;
DEFINE p_day integer;

--如果國曆日期有誤,一律傳回NULL
BEGIN
ON EXCEPTION
   LET p_day = null::integer;
END EXCEPTION

--判別是否為民國前
IF in_sdate < 0 THEN
   LET in_sdate = ABS(in_sdate)+19110000- ROUND(ABS(in_sdate/10000))*20000;
ELSE
   LET in_sdate =  in_sdate + 19110000;
END IF ;
IF in_edate < 0 THEN
   LET in_edate = ABS(in_edate)+19110000- ROUND(ABS(in_edate/10000))*20000;
ELSE
   LET in_edate =  in_edate + 19110000;
END IF ;

--轉為西元日期
SELECT (TO_DATE((in_edate)::char(8),'%Y%m%d'))
     , (TO_DATE((in_sdate)::char(8),'%Y%m%d'))
  INTO p_edate,p_sdate
  FROM empty;

IF UPPER(in_type) IN ('DAY','D') THEN
   LET p_day = p_edate - p_sdate;
ELSE IF UPPER(in_type) IN ('MONTH','M') THEN
   LET p_day = ((YEAR(p_edate) - YEAR(p_sdate)) * 12) +
                (MONTH(p_edate) - MONTH(p_sdate));
ELSE IF UPPER(in_type) IN ('YEAR','Y') THEN
   LET p_day = YEAR(p_edate) - YEAR(p_sdate) ;
END IF; END IF; END IF;

END;

RETURN p_day;

END FUNCTION;

2013年8月20日 星期二

夏新N890之吐血刷MIUI V5(完)

我只能說和IOS的JB比起來,ANDROID的刷機過程,對我來說還真他媽的吐血。
 
因為買的是大陸機,基本上都會少了GOOGLE的模組, 所以舉凡GOOGLE相關的應用都用不了。


GOOGLE CHROM
GOOGLE PLAY STORE
GOOGLE PLUS
GOOGLE HANGOUT
GOOGLE GMAIL
GOOGLE MAP
GOOGLE EARTH

沒辦法,我實在太依賴GOOGLE了,他可是我的良師啊。

N個月前,幫人家的手機第一次刷機就搞得我 七葷八素的,

這是一隻是夏新N828,先在MOBILE01找到了DK大人的ROM,拼湊著一些刷機步驟後,手機就有了繁體中文版的界面,然後也就交差了事了,管他有沒有GOOGLE功能。

後來又來了一隻N890,想說都是MTK的晶片,直接拿N828的ROM再刷一次就好。結果一刷後,開都開不了機,讓我以為當下就把手機給玩死了。

一番GOOGLE後,才了解刷機要先找到適合此機型的ROM,不是"很像差不多"就可以的~~~。 (此時想起IOS的JB,找來找去就只會有一套ipsw....)


這隻5吋四核的手機,質感還不錯,而且RMB1000不到,想說給爸爸來一隻,所以要很用力的在測這隻手機。

以下是我回想的刷機步驟,有些細節在一陣瞎測瞎搞後,也記不得了..,有用的檔案都有保留起來

1.安裝MT65XX_Preloader
這個步驟我在WINDOWS 8卡了一下。
原則上使用WIN7的X64 DRIVER就OK,但在WIN8得要先停用驅動程式強制簽章,不然MT65XX_Preloader會有一個黃色驚嘆號,表示驅動安裝不成功。

後來找到的方法可以參考這篇討論里的畫面步驟
或者
以系統管理者身分執行 cmd.exe,輸入如下的指令:
BCDedit /set loadoptions DDISABLE_INTEGRITY_CHECKS
BCDedit /set TESTSIGNING ON 

然後重開機。

ps.用第二種方法後,桌面右下角會一直出現測試 模式的字眼,很礙眼。所以要再執行一次
BCDedit /set loadoptions DDISABLE_INTEGRITY_CHECKS
BCDedit /set TESTSIGNING OFF
重開機後把模式關掉 。

2.下載線刷工具 SP_Flash_Tool_v3.1304.0.119

3.下載N890的ROM。
為了以防萬一,先找到了官方的原生ROM以免突槌。

然後再移動叔叔找到MIUI V5的小米機ROM  這版沒有內帶google模組
(之前是先刷樂蛙版ROM,里頭雖有繁中可切換,但切換後很多UI沒有完整的中文,反而變成了英文了)

ps. 2013/8/20找到大陸一版看來有帶google的ROM,另外這個則是mobile01找到的ROM
以上二個還沒試用過,所以也不知順不順。

下載下來後參考線刷步驟,就像下圖一樣,
首先,將手機關機,電池拔除幾秒,USB線先不要插到電腦上。
然後按Scatter-loading選擇MT6589_Android_scatter_emmc.txt檔。
勾選DA DL All With Check Sum後,再按下Download
然後把USB接到電腦上,接著你就會看到下面的progress bar在運作了...
等做完後會有一個綠色的圈圈視窗,就大功告成了。


4.開機後,就會看到小米STYLE的桌面了。 不像傳統的ANDROID中間都會有個進入應用程式畫面的捷徑,進入後再把要的程式拖出來放在桌面當捷徑。
這個小米界面是仿IPHONE,所有的程式都放在桌面上,可以一頁一頁進行查看或刪除。
用慣IPHONE的人一定會尬意的..

5.最後要開始安裝GOOGLE的應用程式。
最先開始時,我是先用桌面上的小米應用商店下載谷哥應用下載器,里頭就有許多GOOGLE相關的APP,安裝這些APP時,他們幫你檢查是否已經有安裝了GOOGLE服務框架和GOOGLE帳戶管理程序及GOOGLE PLAY服務,如果沒裝,就依著畫面指示一鍵安裝。
然後再安裝GOOGLE PLAY STORE。這樣就可以進入PLAY 商店了。
其實,這版ROM已ROOT也包含了豌豆荚APP在內,下載APP應該都找得到。
但我還是習慣使用PLAY STORE,所以還是在商店下載安裝了一些APP。

到此時,心想應該一切都搞定了唄,想說最後來測一下GOOGLE MAP。結果竟然定不了位。
一隻智慧型手機無法GPS定位真是有點落漆~~~
找了很多方法,才發現N890有很多GPS無法定位的問題。一度以為是手機的問題,測了一整天都想放棄了。
因為大部份的文章都說是要copy NetworkLocation.apk到system\app\下並修改system\etc\下的gps.config。
但我照著做還是無法定位。
主要是想在GOOGLE MAP使用WIFI或3G可以定位就好。但試了一天都沒什麼用。
後來看到一篇文章說到 NetworkLocation.apk和服務框架的版本一定要相同,否則也會造成GPS無法定位。


參考這篇說的,下載了4.2.1的GMS 
其中我只將NetworkLocation.apk、GoogleContactsSyncAdapter.apk、GoogleCalendarSyncAdapter.apk、GoogleServicesFramework.apk、SetupWizard.apk、GoogleLoginService.apk這6個APK給複制到了system\app\
然後重新開機

嘿嘿,開機後就出現了ANDROID 熟悉的開始精靈畫面,STEP BY STEP,終於就把定位搞定了,連同先前無法安裝的GOOGLE+也一併都裝好了。

巴特,GPS Test仍然沒有星?  FACEBOOK也無法打卡,但GOOGLE MAP ,GOOGLE+都可以很快都定位(此時我在室內,3G行動數據和無線都是開著的,AGPS也有設定~)

後來出門去試看看,在3G上網下,需要5-10分鐘,GPS Test抓到星了,In View 12, In Use 7。
再試看看FACEBOOK,大概也要5分鐘可能順利定位打卡....這時間真的有點久,而且要反覆不斷的更新及打卡...
至於GOOGLE MAP和GOOGLE+則很快不到1秒就可以定位成功。

想不透哪里有問題,難道是GPS硬體有問題?

這二天看到紅米機的新聞,在價低(799RMB)規格卻很不賴的誘因下,竟然有770萬台的預購小米的銷售總量...
然後又要出仿MBA的3999RMB的NoteBook,真是可怕的銷售。
(此時我實在很擔心我的HTC股票啊,會不會腰斬再腰斬~~~~~~)


總結:
花了幾天刷機及試用 N890 MIUI V5,安裝了不少APP,個人覺得以這個價格這是一個很有CP值的手機,如果有機會拿到真正的MIUI 紅米機,我相信CP值又會更高。
再加上是我喜歡的iphone style,而且刷機後還挺順的,可能我是我沒有安裝任何GAME吧。
所以我自己是很推這隻手機啦。


查到這個手機比較....紅米手機我也想要來一隻啊. N890看來沒有支援AGPS ??

夏新大V国王版 vs 小米 红米手机


2013/09/21
這段期間, 先刷了石頭的V5, 3.7.26,發現了鈴聲無法更改且聲音小了點的問題,所以就升級到了3.8.2。里頭有一些介面沒做到繁體中文,但也無大礙吧!
再試了recovery下刷的3.9.6版,一樣也有繁中不太全的問題....但少了很多強迫安裝的APP.

哪里可以下載到完整繁中的ROM呢??? 研究研究...

2013/10/05
用了一個多月,我也一路更新到了MIUI 3.9.6,算是版本很穏定,但部份U仍然是I是繁中不太全,使用上應該是沒什麼大問題。(因為將好幾台都刷成這一版,大家用得也挺HAPPY的)。
我不得不說,MIUI讓我開始對ANDROID有一些喜愛感呢,因為真得有APPLE的影子在里頭。

現在連小米官網都有正式的N890合作版下載了(版本3.9.27)。....來企試試了,希望有完整的繁中支持。

2013/10/18
版本3.9.27 升級後沒啥感覺,這次10月10日去上海看大師賽,剛好IPHONE WIFI掛點沒帶著,拿著這台夏新山寨小米機趴趴走,相機功能有些落漆,Federer練完球迎面走來,我他媽的只拍到一張尚可的相片....恨啊.....。攝影還行,細膩度勉勉強強。
像是搜狐那種看影片的 ,天氣GPS定位的,真的變的好快,回台灣之後,就都看不了也定位不了。大概里頭很多設定都是JUST FOR CHINA...

心得是:
拿這隻來試驗刷機肯定是不心痛的,隨便刷隨便RESET都不見猶豫之心。 覺得花時間刷機試機還挺好玩的。

2013/10/30
直接手穖線上升級到3.10.26 ,升級後發現鬧鐘嚮了後,按電源鍵進入貪睡,起床後進入鬧鐘設定發現鬧鐘是關著的,但上方的小鬧鐘圖示還是顯示著?
發現每次升級,GOOGLE PLAY就無法使用,所以又要再COPY一次 4.2.1 GMS APK檔再設定一次才行。繁中界面仍是沒改變,仍是部份為英文。

2013/12/19
搶了二次紅米機都沒搶到,有沒有那麼誇張啊。我到底賤不賤呢?還想要去搶第三次....
山寨小米用得也挺好的,幾乎每週都跟著線上更新,感覺是沒什麼大變化,現在是更版到3.12.6版 ,曾經有那麼一次天氣的定位定到了,但顯示的名稱竟然是福和里?? 不是台北市也不是信義區,更不是住家所在的里。GPS仍然是很落漆的。

只想要用看看正版的,3999這個價格真的很吸引人,有些 朋友似乎不屑MIC,有點挖苦我們這些一心要搶到紅米機的人,在他們眼里我們好像是把大便當黃金。
大陸這幾二年的手機真的 很有質感,畢竟我也用過很落漆的白牌機,螢幕難"突"的要死。心里感受很深。
現在一分錢一分貨好像都不是那麼的實在,這些大廠能說有多少良心呢?
我是很相信小米還會紅一段時間了,如果她的堅持依舊~~

2014/02/12
第三次終於搶到紅米了(真不知道自已在賤什麼...哈)。換上中華電信及台哥大雙卡玩了一個月。心得是....跟之前夏新 山寨小米比較,感覺卡頓卡頓的,RAM在清理後一直都保持在5~600多MB,夏新 山寨小米如果沒開什麼APP大概可以在300~400之間。1G的RAM其實開什麼,久了多了都會感到不順,在android手機里,我常做的事竟然是一直在清理RAM~

再來是大家一直詬病的中華電信3G訊號問題,用了一個月真的是時好時壞。在移動的公車上訊號一直換來換去的,上網當然也就斷斷續續。至於用電量還OK,拍照功能差強人意(因為我對相片品質也不要求...)。音樂搭配了小米耳機,沒有意外之驚奇,但耳機的軟線和收納我覺得挺有意思的。

但總的來說,我還是喜歡小米UI的,如果能配上高效能的手機,我想會更順暢,我會更喜歡。

以上玩測了大半年,純粹是為了給阿爸阿母使用智慧型手機和新鮮感而換android手機。

我想,我要再回歸到iphone了。

為我的android之旅畫上句點~

2013年8月11日 星期日

使用VS2012 Debug SQL Assembly

在VS2012如何debug寫好的CLR FUNCTION

1.首先要先將CLR部署到SQL SERVER,例SQL SERVER 2012
2.開啟你的SQLCLR專案,開啟VIEW/SQL Server Object Explorer (或按Ctrl+\+S)
3.在SQL Server Instance按右鍵,勾選 Allow SQL/CLR Debugging

 4.在SQLCLR專案加入一個TestScript.sql
新增說明文字

4.寫一段SQL 用來呼叫你的CLR FUNCITON /STORED PROCEDURE...,並設好程式,中斷點按下Execute With Debugger 就可Debug了。

5.如果debug run顯示錯誤,先試著以系統管理員權限開啟visual studio後再試試。

2013年8月1日 星期四

無法啟動sql server profiler

啟動sql server 2012的sql server profiler時,出現這個錯誤訊息

無法啟動程式,因為您的電腦遺失 sqlncli11.dll。請嘗試重新安裝以修正這個問題。

查看這篇MSDN說明
Microsoft SQL Server Native Client 11.0 會在您安裝 SQL Server 2012 或 SQL Server 工具時安裝。 您還可以從 SQL Server 功能套件網頁取得 sqlncli.msi。 如果電腦上同時安裝了舊版 SQL Server Native Client,則 SQL Server Native Client 11.0 會與舊版本並存安裝。
SQL Server Native Client 檔案 (sqlncli11.dll、sqlnclir11.rll 和 s11ch_sqlncli.chm) 會安裝到下列位置: 
%SYSTEMROOT%\system32\

檢查了我的c:\windows\system32目錄,並未發現這些檔案。SSMS除了sql server profiler外,其他功能都很正常。

MicrosoftR SQL ServerR 2012 SP1 Feature Pack 下載ENU\x64\sqlncli.msi 利用repaire方式修復仍然無法解決問題。 (這個版本是sql 2012 升級到SP1的版本)。

最後在控制台\程式集\程式和功能 移除Microsoft SQL Server 2012 Native Client後重新安裝就解決了。


publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...