星期三, 12月 14, 2022

Visual Studio 2022 離線安裝

建立離線安裝 - Visual Studio (Windows) | Microsoft Learn

參考 Microsoft 的網站介紹,下載

 https://aka.ms/vs/17/release/vs_community.exe

之後,就是打開命令提示字元

切換到剛剛檔案存放資料夾後,輸入

vs_community.exe --layout e:\vs2022 --lang en-US

接著就是漫長的等待了,整套 VS 2022 Community 版本下載完成後包含 vs_community.exe 有 38.5GB,官方說 Visual Studio 的完整本機配置至少需要 45 GB 的磁碟空間,看來是版本的差異。

真的是下載要等很久。


接著複製到要安裝的機器後,一樣開啟命令提示字元,切換到資料夾後輸入

E:\VS2022>vs_Community.exe --noweb

選擇要安裝的套件後,就可以開始等待安裝完成了





星期二, 11月 15, 2022

第一次進派出所筆錄

派出所使用的資訊系統跟流程有很大的改進空間

2022/11/14 晚上在大安森林公園跑完步要走去騎機車回家的路上,在馬路上發現一個打開的短夾躺在道路中央,剛好紅燈沒車經過趕緊把它撿起來然後打電話報警。

19:55 立刻拿起手機撥打 110 後,告知在市民大道涮涮鍋信義店前馬路上撿到皮夾,電話那頭回覆會通知派出所與我聯絡。於是我就站在原地等待

19:59 新生派出所來電,詢問我是否時送到派出所,於是我就送過去了。

誰知,這才是驚訝的開始。

1. 因為撿到的短夾內有持有人的身份證明證件,所以對方一定會來領回,我也沒想過要等六個月要領走,本來以為留資料詢問一下就可以了,沒想到,超過一萬元現金,是要做筆錄的。

(都已經有證件了,為什麼清點完後第一時間不是通知失主,而是跟撿到的人做筆錄 )

2. 在警察清點完現金跟證件後,連悠遊卡也要把金額寫到筆錄中,但派出所並沒有讀卡工具,悠遊卡公司電話我看警察打了又沒人接,最後他只好跑一趟捷運站(便利商店)去查詢餘額。

(悠遊卡公司的難道不能提供卡號查詢餘額功能讓警察作業方便一點嗎? 用卡號查詢餘額,應該沒有個資的問題吧)

3. 做筆錄時,失物送派出所招領,這種很標準的過程,我本來以為會是一個系統,沒想到是打開 Word 進行筆錄,而且因為是 Word,所以在輸入我的身分證字號後,又要開始輸入個人基本資料,這樣都是身分證上的,跟內政部都是一樣有的資料。 

(難道資訊連接這麼困難嗎? 警察的工作都已經夠忙了,還要練打字嗎?)

最後,離開派出所,已經是半小時過了,跑完步的我又渴又餓,只想趕快回家。


星期二, 10月 04, 2022

C# string split by multi delimiters

以前要處理兩種以上的分隔符號就必須跑迴圈處理,突然想到查詢看看是否有新的方式處理,


//舊方法

string test1 = "a,b;c,d;e,f;g";


List<string> list1 = test1.Split(',').ToList();


List<string> result = new List<string>();


foreach(string split1 in list1)

{

result.AddRange(split1.Split(';').ToList());

}


foreach(string split2 in result)

{

Console.WriteLine(split2);

}


Console.WriteLine("---New one---");

//新方法

string[] delimiters = {",",";" };

result = new List<string>();

result = test1.Split(delimiters, StringSplitOptions.RemoveEmptyEntries).ToList();


foreach(string split2 in result)

{

Console.WriteLine(split2);

}



星期一, 9月 19, 2022

隱藏 Devexpress Report 的 Parameter Panel

 為了避免下次又要找半天,趕緊紀錄一下過程。

在程式的後端已經設定好報表檔內的 Parameter,但 Parameter Panel 還是都會跳出來,



最後才知道,只要將 Parameter 的 Visible 都設定成 False 就不會跳出 Parameter Panel


星期五, 7月 29, 2022

IIS: Request Entity Too Large

把一個很吃資源的 WCF 服務從 IIS 7.0 升級到 IIS 8.0,就壞掉了,找了一下才知道有設定要調整

其實很簡單,就是 IIS 的設定調整變大,Web.Config 新增設定 maxAllowedContentLength 就可以了


從 IIS 中選擇站台,點選設定編輯器


區段的部份選擇 system.webServer/serverRuntime 後,將 uploadReadAheadSize 調整為 49152。

接著在 Web.Config 新增

<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>

星期五, 5月 20, 2022

Hyper-V 降版本

在 Windows 10 建立的 Hyper-V 版本太新,建置完成後搬移虛擬機伺服器執行就遇到版本不相容的問題


Windows Server 2016 只支援到 8.0 的版本


最後只好先手動建立一個空的虛擬機



燒香拜佛祈禱把 Virtual Disk 掛載調整設定後就可以開機使用



果然,在兩邊設置都一樣的情況下,即便版本不一樣,也是順利開機成功認真工作。 




星期五, 2月 18, 2022

設定 IIS Log 定期更新

 IIS Log 留太多也只是佔用空間,最好的方式就是用排程定期刪除

用 VBScript 來進行 30 天前的資料刪除


sLogFolder = "c:\inetpub\logs\LogFiles"  'IIS Log 存放資料夾

iMaxAge = 30   'in days

Set objFSO = CreateObject("Scripting.FileSystemObject")

set colFolder = objFSO.GetFolder(sLogFolder)

For Each colSubfolder in colFolder.SubFolders

        Set objFolder = objFSO.GetFolder(colSubfolder.Path)

        Set colFiles = objFolder.Files

        For Each objFile in colFiles

                iFileAge = now-objFile.DateCreated

                if iFileAge > (iMaxAge+1)  then

                        objFSO.deletefile objFile, True

                end if

        Next

Next


將上面 Script 存檔後,設定每天執行的排程,即可完成每天刪除 30 天以前的 IIS Log


參考文章: Prevent IIS log files from using too much disk space on Windows Server | Computerworld

星期二, 12月 28, 2021

SQL Server Transaction Log 還原

將  bak 檔與 trn 檔複製到另一台 SQL Server 測試還原的步驟

選擇 bak 與 trn 檔案,剩下就跟一般還原一樣選擇處理







星期四, 9月 09, 2021

WCF 回傳為錯誤

在本機測試都沒問題,放上正式環境後就掛掉,最後只好把 Web.Config 開啟紀錄來看看

在 system.web 加入了紀錄 Trace 的功能

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
      <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
      <source name="System.Runtime.Serialization" switchValue="Verbose,ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="App_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp" />
    </sharedListeners>
  </system.diagnostics>

在同一資料夾就會有 App_tracelog.svclog 這個檔案產生,成長速度飛快,我才紀錄 2 天就大到  2G 了,還好已經紀錄到我要看的,趕緊將記錄功能從 Web.Config 中移除。

使用 Microsoft Service Trace Viewer 就可以開啟,沒有也有可以記事本,只是很難閱讀。

最後才發現,原來這次我的調整用了新的 DataTable 但是沒給 TableName 造成的。

呼~~~虛驚一場。



星期五, 8月 27, 2021

App_tracelog.svclog 太大

上次清 WCF Log 應該是一年前了吧,全部加起來有兩千多個檔案,佔去快 100G 空間,
其中主要那個還佔了 85.3G。

我會先到 Web.Config 中把 App_tracelog.svclog 紀錄先改掉,刪除檔案,再改回 App_tracelog.svclog

      <add initializeData="App_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp" />



 

星期三, 8月 18, 2021

Could not load file or assembly 'ADODB, Version=7.0.3300.0, Culture=neutral

最怕就是系統移機了,畢竟隨便一個系統都是已經建置部屬超過三五年,中間經過很多人,到底在系統上安裝了什麼,也不見得會有人記得。

這次要將 Web Service 從 Windows Server 2008 R2 移機到 Windows Server 2012 R2 的機器就遇到了

開網頁直接跳

Could not load file or assembly 'ADODB, Version=7.0.3300.0, Culture=neutral 布拉布拉的錯誤




安裝了一大堆版本的 MDAC 還是一樣,錯誤。

最後只好找來 adodb.dll 加上 gacutil.exe 強制註冊到 GAC 中才行


用系統管理員權限開啟命令提示字元

.\gacutil.exe -i .\adodb.dll

打完收工

星期日, 11月 22, 2020

Synology DS216+II 升級記憶體跟擴大硬碟

利用今年雙 11 買了兩顆 Toshiba【企業碟】(MG06ACA800E) 8TB /7200轉/256MB/3.5吋/5Y 來把原本的 Seagate【IronWolf】那嘶狼 4TB 3.5吋NAS硬碟 (ST4000VN008) 過保固的替換掉,

順便試試看 DS216+II  Repair 需要花多少時間,關機後換上硬碟後立刻重開機,DS216+II 就開始大聲叫了,登入立刻後先把警報聲先關掉


先到儲存空間管理員中確認硬碟有正確被認出
然後就在動作中點選修復開始漫長的等待了


蠻長的等了五天,才修復完成


由於還有一顆要換,再等五天 NAS 很慢不太能用會很 OOXX,反正都過保了,就順便把記憶體從 1G 加大成 8G 吧,拿了一條 TS1GSK64V6H-I 換上,運氣很好的安裝上就可以用了



換上記憶體後,再換上新硬碟開始修復,這次竟然 7 小時就修復完成了,比上次整整快了 17 倍,果然記憶體擴大後整個效能都提升了。


修復完之後,因為是擴大硬碟,所以還要進來儲存空間動作內的設定執行最大化來擴張可使用空間大小,這個操作系統瞬間就完成了,這是 NAS 升級完成,打完收工。















星期一, 4月 13, 2020

Clear ClickOnce Cache

方法1. 用命令提示字元進行刪除,

rundll32 dfshim CleanOnlineAppCache

等待跑一下就刪光了

方法2. 到使用者資料夾刪除

將這個資料夾下的資料夾跟檔案都刪除

C:\Users\username\AppData\Local\Apps\2.0\



星期三, 6月 05, 2019

SQL Server ERRORLOG 太大


SQL Server 因為硬碟壞掉,造成了ErrorLog 成長速度飛快,直接把 C 槽吃到沒有空間,一路長到21.6 GB,還有一大堆 Dump 檔案就佔了 40 G

 
只好把有問題的 DB 都刪掉或是卸載掉,把 Dump 的紀錄檔都刪除,剩下就是這個肥大的 ERRORLOG 了。

為了不重啟服務,只好用來回收當前的 Log,因為 ERRORLOG 數量最少為 6,所以跑七次後就都清空了。

EXEC sp_cycle_errorlog;



兒子的第一次發燒

兒子在 9/30 打完滿兩個月的預防針五合一、肺炎鏈球菌跟口服輪狀疫苗,當天下午都還好,晚上體溫就開始一路往上飆,直達 38.5 度,嚇的我立刻幫兒子洗一個溫水澡,降降溫,洗完之後有降一些,沒多久要標到 38度 XXDD。

醫生也沒特別說明會發燒還怎麼樣,女兒以前打也都很正常,上網查了一下,很多小孩都是這針發燒的,寶寶手冊上面還寫發燒是罕見,這個罕見發生機率頗高,我問了身邊至少有五成以上都有,又是一個 OOXX。

好在 10/01 早上兒子已將降到 37.5 了,比正常高一點而已,就沒有立刻帶他去看醫生。

結果下午三點多,托嬰中心老師打電話說兒子的耳溫有量到39度,半小時了都在 38.5度之上,我一聽,立刻請假衝回家拿健保卡接兒子去台安掛急診。

在急診室等了一下,還被急診醫生告誡這種情況應該早上有門診的時候就帶給專科醫生檢查,應該只有兩個月大,發燒就是要住 NICU,但目前滿床,小兒科不收小於四個月大的,醫生問我要轉診還是回家觀察,看了看兒子,已經沒那麼燒了,而且食慾還不錯都有把奶喝完,

我就帶著兒子跟退燒藥回家了 (急診醫生總算 開了退燒藥了),兒子整晚暖烘烘的在 37.5度上下徘徊,到了 10/02 早上,燒退了,正常了,在 37度上下。

這次真的很嚇人,好在沒有吃退燒藥自己降下來了。



星期四, 7月 12, 2018

電子發票 Turnkey 軟體憑證更新

軟體憑證到期後,紀錄一下如何變更傳送憑證,前面軟體憑證申請下來之後,
最後會得到一個 PFX 檔,從『系統管理』中的『憑證管理』這邊點選「新增」,
之後將新的憑證加入。


接著在 『系統管理』中的『送方管理』選擇要變更的送方點選「編輯」,在送方憑證選擇新的憑證,接著就會用新的憑證進行上傳了。

最後,還要到電子發票整合服務平台網站上傳軟體憑證,路徑在『營業人功能清單』->『基本資料』->『軟體憑證登錄作業』,選擇剛剛新憑證的 CER 檔案,這邊就會需要主卡的工商憑證來進行驗證,驗證完成後就真的可以上傳成功了。


申請軟體憑證的方法請參考:申請軟體憑證手冊

星期二, 5月 22, 2018

SQL Server MSDB 檔案太大

發現硬碟空間不足,一查之下才知道是 MSDB 用去太多空間了,



根據 微軟的說法 msdb  應該就是我們存放太多紀錄了


查了一下,原來是 SQL Server Agent 的 Job 紀錄從來就沒有刪除過


只好開始刪除

 EXEC msdb.dbo.sp_purge_jobhistory @oldest_date = '20180101';


最後在設定 Agent 的屬性避免再次發生

這次找了一堆的參考,MSDB 跟 TempDB 都換位置了,才有空間可以給 Log 去成長,特別紀錄一下這次參考的網站們。

參考:
MSDB Log File Very Large - In Simple Recovery Mode
How to move the MSDB database
[MSSQL] 好胖的MSDB
一鍵幫你收縮所有DB文檔大小
MSDB数据库太大的问题
介紹 SQL Server 的系統資料庫



星期三, 4月 18, 2018

SQL Server Log 檔損毀

遇到一次硬碟掛掉真的會讓人嚇到吃手手,還好 DATA 跟 LOG 是放在不同資料夾,所以只是有可能有資料遺失,想說先把資料庫卸離之後在移除 LOG 掛載回來,產生新的 LOG 就好。

於是就先轉乘 Emergency Mode,接著卸離,很順利的完成的,

alter database 資料庫名稱 set emergency
go

但事情才沒有想像中的順利,在附加的時候,因為原本的路徑已經不見了,就算我在附加時把 LOG 檔移除,他還是只會產生在原本的路徑,

這麼臨時,去哪生個硬碟來接,還好德瑞克大大才剛寫過一個強制產生 LOG 的介紹
FOR ATTACH_FOURCE_REBUILD_LOG 就可以重建 LOG 檔並指定路徑
CREATE DATABASE [資料庫名稱] ON
(FILENAME = N'F:\SQLData\MSSQL\資料庫名稱_Data.MDF')
FOR ATTACH_FORCE_REBUILD_LOG


參考:
SQLSERVER 資料庫損壞修復-1

[SQL Server] Fix: File activation failure. Msg 1813 Could not open new database. CREATE DATABASE is aborted.

星期四, 3月 22, 2018

Integration Services Access Denied

新安裝一台 SQL Server 2012,當要登入 Integration Services 的時候竟然發生 Access Denied 的情形,無法登入

馬上進廟拜神, Google 之後就得到答案了,把權限設定之後就可以登入了。



星期四, 1月 11, 2018

IIS - FTP 534 Policy requires SSL

在 Windows Server 2012 的 IIS 中設定好新的 FTP 站台,連線的時候卻遇到 534 Policy requires SSL 的錯誤,原來又是預設值搞的鬼,




從 IIS 管理員中 FTP SSL 設定進行調整


將 SSL 原則從 "需要 SSL 連線" 調整到 "允許 SSL 連線" 就可以了。