2013年12月25日 星期三

XCOPY在工作排程0x4問題

建了一個工作排程,定時執行batch檔。
batch中寫了一段xcopy,主要針對有異動較新檔案時才複製。

echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%

set stamp=%YYYY%%MM%%DD%.log

echo %date% %time% 'copy file' >> d:\Schedule_Sync\%stamp%
xcopy x:\files\*.mp4 y:\files\ /d /y >> d:\Schedule_Sync\%stamp%


x:\及y:\分別是二台網路連線磁碟機

原先建立好排程執行結果都為0x0
有一天更改了二台主機的密碼後,執行結果就變成了0x4。

於是先在DOS COMMAND , 輸入 control keymgr.dll 重新指定一次網路磁碟機密碼

但排程執行結果仍舊是0x4

試了幾天,最後把原本的排程刪掉重建後,竟然就正常了。

吐血~again......

2013年12月22日 星期日

FortiGate SslvpnClient4 command line

FortiSSLVPNclient.exe command line parameters

Usage: FortiSSLVPNclient <subcommand> [options] [args]

Available subcommands:
    connect        - Start a connection
    disconnect    - Disconnect from your session

To start a connection, enter the follwoing command:
    FortiSSLVPNclient  connect    [-s <connection settings name>]
                [-h <sslvpn server>[:<port>]]
                [-u <sslvpn username>[:<password>]]
                [-c <certificate subject>[:<issuer>]]

To disconnect from your session, enter the following command:
    FortiSSLVPNclient.exe disconnect

2013年12月19日 星期四

IE9 report viewer 無法切換下頁瀏覽

使用VS2012 MVC 4, 利用IFRAME 內嵌aspx頁面做RDLC報表瀏覽。
在IE10、FIREFOX、CHROME的環境都很OK。
在IE9 讀取報表時很正常,但如果點選下一頁就會出現JAVASCRIPT的錯誤

網頁錯誤詳細資料

使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
時間戳記: Sun, 3 Nov 2013 09:34:40 UTC

訊息: 不正確的引數。
行: 3955
字元: 13
程式碼: 0
URI: https://xxxx/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=11.0.3366.16&Name=ViewerScript


訊息: 不正確的引數。
行: 3955
字元: 13
程式碼: 0
URI: https://xxxx/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=11.0.3366.16&Name=ViewerScript


訊息: 不正確的引數。
行: 3955
字元: 13
程式碼: 0
URI: https://xxxx/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=11.0.3366.16&Name=ViewerScript


看來是一直不斷的LOOP這個不正確的引數錯誤。


自已測了幾天找不出原因..
後來同事只是在aspx頁面中,在FORM TAG外再加了BODY TAG,問題就解決了。...(無言)

以下aspx頁面的內容,原本沒有BODY TAG

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs"
    Inherits="Web.Areas.Reports.
Test" %>

<%@ Register Src="~/ReportControl.ascx" TagName="ReportControl" TagPrefix="uc1" %>

<script src="../../../Scripts/jquery-1.9.1.js"></script>
<body>
<form id="form1" runat="server">
    <uc1:ReportControl runat="server" ID="RDL" />
</form>   
</body>





2013年12月16日 星期一

鹿耳門天后宮之匆匆

趁著來台南探望同學之餘,回台北前跑來鹿耳門的天后宮拜拜,也不知為什麼,就是想來看看,我自己也覺得爲啥要大老遠跑來感到不解,也說不出個原因,就是要來一趟比較安心^_^。
下了車,請司機等我一下,跑進去和前中後三大殿的媽祖及神明們講了一些心裡的願望,希望自己50歲以前可以安心回台東定居,保佑現在的公司順利接案結案,認識的人也能平安健康。
匆匆的來匆匆的去,希望她們都有聽到我說的話。期待10年後可以來還願啊,😄。

這次帶著爸爸一路南下,來看親戚及同學,同學生了第二個baby還要奮鬥個好幾年了,親戚則是準備要退休打算過著悠哉悠哉含飴弄孫的生活。
我則是抽空出來放風一下,抒發一下這幾個月的壓力,哈哈!如果再有時間,真該再到其他地方繞繞。

爸爸都70歲了,昨天坐高鐵南下時,在售票機買錯了票,當時有compliant了一下老爸(我脾氣真的也很差),也不太可能要求每個人都懂自己要什麼,所以很希望自己都是一個人,這樣問題就能精準掌控,也不用太在乎別人的感覺(這個真得很難)目前一個人讓我挺快樂的。

拉拉雜雜寫一堆,希望大家一切都順利囉!

2013年11月17日 星期日

excel 找含*的資料

EXCEL欄位中想要找含有*的儲存格
看來很簡單,但怎麼找都回傳所有的儲存格

看了這篇說明才知道*是指萬用查詢
秘訣   如果要尋找工作表資料中的星號、問號與波狀符號 (~),可以在 [尋找目標] 方塊中輸入波狀符號做為尋找目標的前置字元。例如,若要尋找包含 "?" 的資料,可以輸入~?做為搜尋準則。

尋找含*的儲存格,請CTRL+F,輸入關鍵字 ~*


 

2013年11月1日 星期五

windwos 8 drag and drop

windows 8真的很討厭....
原本檔案 都可以用drag and drop的方式開啟
例如在檔案總管目錄下查看目錄檔案,想要用drag and drop 打開一個沒有副檔名定義開啟程式的檔案,以前都直接將檔案拖到文字編輯器就開啟來了。

在window 8預設就無法這樣做.即使設定了控制台下使用者帳戶下的使用者帳戶控制為不要通知,仍然無法drag and drop。

windows 8 UAC限制的更加嚴格,表面上讓你關閉通知,但骨子里卻留了一手。

參考這篇文How to bring back Drag and Drop in Windows 8

在regedit中,找到 HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > Policies > System 
EnableLUA設為0


然後重開機。

windows 8真的很討厭....,
T400 改為使用整合顯示卡後,當的機率變小,但還是會當...而且當掉的時機點竟然都是在長時間不用的情況下??
當掉後,必須把電池先拔掉再插回去才開得了機????

機器的電源管理都是設不休眠...不關閉顯示器...除了設定10分鐘變暗之外....

真不知道他在當什麼.....



2013年10月21日 星期一

SQLCLR FormsAuthentication.HashPasswordForStoringInConfigFile

人客給了一個EXCEL,要批次先建好系統使用者
但因預設密碼為使用者帳戶,每個人都不同,我又想直接透過SQLServer openrowset 方式讀取excel檔然後直接轉入。

首選當然是建一個CLR Funciton 直接在tsql 使用,但CLR不支援System.Web,所以FormsAuthentication.HashPasswordForStoringInConfigFile 就沒法使用了。

找到可行的解決方法,改寫成CLR Funciton ,記錄一下 ,粉方便~~~

What will give me the same result as FormsAuthentication hashing for a non web application?


public static string SHA1(this string stringToHash)
{
    // SHA1 is 160bit
    SHA1 sha = new SHA1Managed();
    byte[] hash = sha.ComputeHash(Encoding.ASCII.GetBytes(stringToHash));

    StringBuilder stringBuilder = new StringBuilder();
    foreach (byte b in hash)
    {
     stringBuilder.AppendFormat("{0:x2}", b);
    }
    return stringBuilder.ToString().ToUpper(); // HashPasswordForStoringInConfigFile uses uppercase hex
}
 
 

2013年10月20日 星期日

OPENROWSET導致SQL Server服務關閉

Windows 8 + SQL 2012 (11.0.3128)

症頭是使用OPENROWSET導致SQL Server服務關閉。
 select * 
  from OPENROWSET('Microsoft.ACE.OLEDB.12.0',
  'Excel 12.0;HDR=YES;IMEX=1;Database=c:\temp\ImportUsers.xlsx',
  'select * from [Users$]')  


查看事件檢視器,就這麼簡短的一行字
SQL Server (MSSQLSERVER) 服務意外地終止。已經發生 1 次。

另外還有項看不懂的Application Error
失敗的應用程式名稱: sqlservr.exe,版本: 2011.110.3128.0,時間戳記: 0x50deadad
失敗的模組名稱: ntdll.dll,版本: 6.2.9200.16579,時間戳記: 0x51637f77
例外狀況代碼: 0xc0000374
錯誤位移: 0x00000000000ebd59
失敗的處理程序識別碼: 0x61c
失敗的應用程式開始時間: 0x01cecd9d9186c411
失敗的應用程式路徑: C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
失敗的模組路徑: C:\Windows\SYSTEM32\ntdll.dll
報告識別碼: af519ed8-3991-11e3-be9a-0c6076872559
失敗的套件完整名稱:
失敗的套件相關應用程式識別碼:




 同一個EXCEL檔轉成ImportUsers.xls使用SQL 2005讀取,卻沒有問題
 select * 
  from OPENROWSET('Microsoft.Jet.OLEDB.4.0',
  'Excel 8.0;HDR=YES;IMEX=1;Database=c:\temp\ImportOrgnUsers.xls',
  'select * from [Users$]')   


 找到這篇文章,解藥如下

EXEC master.dbo.sp_MSset_oledb_prop 
N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1  

EXEC master.dbo.sp_MSset_oledb_prop

 N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters',1

試了一下,執行 AllowInProcess即可解決。

順便查了一下何謂 AllowInProcess  Anish Shenoy說到

AllowInProcess=0 (default)
Running the process outside the SQL Server Process:

Allowing the provider to run outside the SQL Server Process helps to protect the SQL Server process from errors in the provider, as when the provider runs outside the SQL Server process Updates or inserts involving column data types like (varchar(max), nvarchar(max), varbinary(max), text, ntext, or image) are not allowed.


AllowInProcess=1
Running the process inside the SQL Server Process:
By setting this option in the SQL Server providers, we will be able to handle the data types like (varchar(max), nvarchar(max), varbinary(max), text, ntext, or image) including long columns, image and text data.

In case of excel data we can see that when we import an excel data into the database tables without having predefined datatypes, by default the datatypes of some of the columns may be assigned to nvarchar(max) or ntext etc, so if we do net set the Allow Inprocess it will throw error.
 
這讓我順便抱怨一下,在SQL2012使用 撰寫SQL 指令 Import /Export資料時,在資料表對映無法解析到正確的資料類型 ,datatype 202 是什麼東西啊。



剛好也了解到原來這算是是一個BUG嗎?

nvarcahr 和varchar在SP1取消支援,改成了[DT_WSTR]和[DT_STR],把SSIS的定義套用在SSMS,真是很奇怪。

2013年10月18日 星期五

t400 安裝windows8 當當當

前三個月將t400裝上了windows8,除了界面灰常不習慣之外,再來就是三不五時熱當的問題不勝其擾。
前者給安裝了classical shell後,又回到了熟悉的程式集界面了....

後者想了很久,也熱當了幾十次後,後來想說就把獨立顯卡給關了看看,至今三個星期,再也沒有當過。

這這這叫我下次怎麼還買得下手小黑啊......

聯想的小黑啊,你的品質何時可以回升啊,我還是愛死你的鍵盤啊~~~

2013/11/17
得到了一個結論,當機時間都是在較長時間不使用電腦時發生的,所以做了一個測試,把顯卡調回獨顯,在OS電源管理中 ,將所有設定都設為永不,這才真正解決了當機的問題。
原本只有將讓電腦睡眠設為永不
後來連同讓顯示器變案及關閉顯示器都設為永不,就再也不當了.

2013年10月5日 星期六

tsql binary_checksum

通常在SQL Server 安裝時,我都選擇 Chinese_Taiwan_Stroke_CI_AS
至於相容層級怎麼選? 有80, 90,100 ,

但說實在的,有什麼差別,我倒是沒仔細想過....


參考這篇MSDN上的說明,和「補充字元」(Supplementary Character)排序相關吧~(阿災)


 既然資料庫內資料不分大小寫,那當真的有需求要比較大小寫時,就可以用binary_checksum

 select  case when 'mmdd' = 'MMDD' then 1 else 0 end as '不分大小寫'
,case when 'A' = 'A' then 1 else 0 end '不分全半型'

,case when  binary_checksum('mmdd') = binary_checksum('MMDD') then 1 else 0 end '分大小寫'

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後重新安裝就解決了。


2013年7月17日 星期三

已停用處理序效能計數器

查看事件檢事器訊息有下列幾種

System.InvalidOperationException 已停用處理序效能計數器,所以無法執行所要求的作業

無法讀取伺服器服務的效能資料。Data 區段的前四個位元組 (DWORD) 包含狀態碼、接下來的四個位元組包含 IOSB.Status,再接下來的四個位元組包含 IOSB.Information。

解除載入服務WmiApRpl (WmiApRpl) 的效能計數器字串時失敗。 錯誤碼是資料區段中的第一個DWORD。

參考 Event ID 3012 — Performance Counter Loading

Resolve

Rebuild the list of available counters

Membership in the local Administrators group is required to complete this procedure.
To rebuild the list of counters in the registry:
  1. Click Start, expand All Programs, and expand Accessories.
  2. Right-click Command Prompt, and then click Run as administrator.
  3. At the command prompt, type lodctr /r, and then press ENTER.

2013年7月16日 星期二

IIS 8 MVC4 網站

將WEBSITE部署到 windows 2012時出現幾個狀況

無法載入檔案或組件 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其相依性的其中之一。 系統找不到指定的檔案。

解決方法:
publish時bin檔下也沒這個檔,所以到 http://www.asp.net/mvc/mvc4 去下載mvc4,安裝完後就OK了。

[FileLoadException: 找到的組件資訊清單定義與組件參考不符。 (發生例外狀況於 HRESULT: 0x80131040)]

[FileLoadException: 無法載入檔案或組件 'Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 或其相依性的其中之一。 找到的組件資訊清單定義與組件參考不符。 (發生例外狀況於 HRESULT: 0x80131040)]


解決方法:
因有安裝了reportviwer 2012 runtime,可能有CACHE,故重啟IIS 網站所用到的應用程式集區即OK。

2013年7月10日 星期三

HttpException Request timed out

同事反應專案下某個網頁查詢功能突然嗝屁了,輸入查詢條件,按下查詢鍵後,然後等了一些時間後,就出現
[HttpException (0x80004005):要求已經逾時。]的錯誤。

回報說,是突然間才有這個問題,以前都沒有問題,
然後也沒改這隻程式A的程式碼....

自已陸續測了好幾天,也覺得狀況是時好時壞.... 遇到鬼了...

最後,凶手找到了...

就是同事改了另一隻程式B....里頭寫了一段ENDLESS LOOP(當然也是在查些條件下才會發生...難怪我覺得遇到鬼了....)

然後在有問題的這隻程式A中,在一個大家都想不到的地方呼叫程式B(我們壓根都想不到要去測這段程式碼....冏....)

 一切都是誤會. 唉


2013年5月7日 星期二

SQL2012 shortcut key

安裝SQL 2012後,以前一些常用的捷徑鍵都不work了.
其實也只有幾個常用鍵

Ctrl+R  : 將query result pane 關掉
Ctrl+Shift+C : 註解所選的sql指令碼
Ctrl+Shift+R : 反註解所選的sql指令碼

可能因為是SSMS2012改用了vs2010 shell ,所以變成有些按鍵被更改掉了.

這里可參考SQL2012的shortcut鍵

為了方便所以在SSMS 2012 中
Tool-->Customize -->Keyboard ,在Show commands containing: 輸入comment
找到了
Edit.CommentSelection  
Edit.UncommentSelection 
 接著在Use new shourtcut in : 選擇SQL Query Editor , 然後按下所要的捷徑。
Edit.CommentSelection    --> Ctrl+Shift+C
Edit.UncommentSelection --> Ctrl+Shift+R




2013年4月19日 星期五

win2003 r2記憶體使用設定

人客的一個系統要更換到一台新主機上,規格如下
  1. 型號:HP ProLiant DL380 G7
  2. CPU:Intel Xeon CPU E5620 @ 2.40GHz *2 四核
  3. RAM:32GB ( 32758 MBytes)
  4. OS: Microsoft Windows Server 2003 Enterprise Edition R2

因為參考舊機器boot.ini(16GB記憶體)
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE /3GB /USERVA=2900

結果重開機後原本32GB的記憶體只剩下16GB

查看了幾篇文章後....

原來win 2003 超過16GB實體記憶體時,/3GB 不可使用,否則機器仍只會使用16GB的記憶體.

 這篇說明的還蠻詳細的. 
 Using the 3GB and PAE switches when running SQL 2005 causes issues
boot.ini設定方式
 
For system with more than 16GB RAM
/PAE

For systems with between 4GB – 16GB RAM
/PAE /3GB /USERVA=3000
/PAE /3GB /USERVA=2900
/PAE /3GB /USERVA=2800
/PAE

For systems with 4GB RAM or less.
/3GB
/3GB /USERVA=3000
/3GB /USERVA=2900
/3GB /USERVA=2800

Do not set the USERVA values less than 2800 or more than 3072. 
Large memory support is available in Windows Server 2003 and in Windows 2000
這篇KB則說明不設PAE則AWE也無法使用超過4GB的RAM


How to: Enable the Lock Pages in Memory Option (Windows)
使用AWE前要先確定sql server services啟動帳戶是否有啟用鎖定記憶體分頁權限


SQL SERVER上配合設定啟用AWE
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO 
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 30720
RECONFIGURE
GO

這篇列出作業系統記憶體上限
Memory Limits for Windows Releases

Windows Server 2003 R2 Enterprise Edition 64 GB(16 GB with 4GT)

最後的boot.ini為下
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE

 

2013年4月17日 星期三

系統捷徑失效,icon消失?

OS: win7 64bit
最近不知裝了什麼,有時電腦開始或工作列上的一些系統捷徑就突然都失效了.icon也變成不知的圖示.

今天電腦用到一半,又出現了有部份的捷徑失效..

當我要打開visual studio 2010 (這個在開始上的捷徑及icon看來都是OK的) 時竟然出現 這個錯誤.

Exception has been thrown by the target of an invocation.

後來只好登出再登入後,整個才又正常了起來。


2013/05/07
今早做完sql 2012 sp1 KB更新後,變成系統捷徑原有的icon都消失了。重新登入或開機也無法回復,但捷徑點進去功能又是OK的。

後來看到這篇 [Windows7]修復桌面與開始功能表中錯亂或是消失的捷徑圖示

將C:\Users\beverly\AppData\Local\IconCache.db 刪除重開機就OK了..

幾次經驗下來,安裝或更新sql 2012、vs2012後都會出現這種奇怪的狀況.實在是不解啊....

2013年4月10日 星期三

查看sql server error log

--保留多少個error log (例100個)
exec master..xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 100


--查看目前共有幾個error log
exec master..xp_enumerrorlogs

--重新產生一個error log
exec master..sp_cycle_errorlog

--查看第幾個log內容(由0開始, 例第13個)
exec master..sp_readerrorlog 12

2013年4月8日 星期一

一些help文件

最近在學習憑證一些相關內容.

看到windows有一些說明文件里頭的說明挺有幫助.

想要離線放到手機上讀取.找到了這些說明文件的存放的路徑

C:\Windows\Help\mui\0404\

certmgr.CHM 是有關憑證的

2013年3月27日 星期三

升級為SQL Server Data Tools BI for VS 2012後

話說,SQL Server BI開發工具BIDS Business intellijgence Developer Studio 所用的版本總是落後Visual Studio一版

上週看到 SSDT(SQL 2012開始 BIDS已經改名為SQL Server Data Tools) 
Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2012
下載安裝完後,原本vs2012的SQL Server Database Project 就沒法用了,出現了以下的錯誤訊息。


於是乎又去安裝了最新版的Microsoft® SQL Server® 2012 Data-Tier Application Framework (March 2013),也是沒路用.....
點了Learn more 及Get the lates version of SQL Server Data Tools的連結後,竟然是導引到

We are sorry. The page you requested cannot be found.


整個灰灑灑....

最後找回SQL Server Data Tools - December 2012 update(Visual Studio 2012)

重新安裝一次SSDT 後,就回復正常了.

同一個工具還分多個版本....金害啊...


SQL2012 SSL加密連線

需要測試sql server 2012 SSL加密連線
GOOGLE了幾篇文章後進行測試

1.如何啟用SQL Server的SSL加密
2.Setting up SSL encryption for SQL Server using certificates – Issues, tips & tricks
3.How to enable SSL encryption for an instance of SQL Server by using Microsoft Management Console
4.如何設定 SQL Server 2008 接受 SSL 加密連接 (需設定憑證)

先到微軟網站下載 makecert.exe
然後在DOS下執行
makecert -r -pe -n "CN=bev" -b 01/01/2013 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

第一次建立時,搞不清CN要填什麼,大部份都說要填符合FQND(Fully Qualified Domain Name)的電腦名稱,但我的機器又未加入網域,所以第一次我就自已給了一個隨便符合FQND的名稱。
 
建立完後憑證後,再依KB的How to Configure the MMC Snap-in 設定進入憑證主控台在個人憑證下就可以看到憑證了

過程中,我是先使用 -sr currentuser 建立憑證,但進入主控台後,我在個人>>憑證目錄下看不到自已建立的憑證??
所以後來改用了-sr localMachine  就可看到所建立的憑證... (後來發現,看不到是因為用MMC進入主控台時是以目前帳號進入,而不是以本機電腦方式)

接著進入SQL Server Configuration Manager,在SQL Server網路組態>>SQL2012通訊協定內容,查看憑證頁籤下的下拉選單看不到任何的憑證???


再依著第三篇微軟KDB的Troubleshooting 步驟,先將個人憑證匯出後再匯入到受信任的根憑證授權單位下。
(匯出時我是選擇匯出私密金鑰,故會要求輸入一組密碼後,將憑證存成.pfx,故匯入時需要輸入相同密碼)

重啟sql server services,用SSMS開啟連結並以加密方式連結,就OK了.


不過我一直有個疑問,主機強制加密Force protocol encryption設為是時,代表伺服器強制SSL

但我試了一下,Client就算沒有勾選加密連線,一樣還是可以連接資料庫?
Client端還是可以不走SSL來連線?? WHY?

寫了一個測試網頁利用SSL連線,connection string  如下
<add name="test" connectionString="Data Source=testsvr;Initial Catalog=test;Persist Security Info=True;User ID=sa;password=sa;Encrypt=yes;TrustServerCertificate=True" providerName="System.Data.SqlClient" />

記得,本機要先把SSL憑證註冊到根目錄下。

publish error allowDefinition='MachineToApplication'

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