發表文章

目前顯示的是 2016的文章

[SSRS]查詢SQL Agent內容

select j.name, s.* from msdb.dbo.sysjobs j inner join msdb.dbo.sysjobsteps s on (s.job_id=j.job_id) where j.name='agent_job_name' ;

[MSSQL][T-SQL]重新排版SQL語法

圖片
程式設計師最痛苦的莫過於要去看前人寫的SQL天書。複雜就算了,重點是每個人習慣的排版和縮排都不一樣。每次要認真看SQL前都要先花很多時間Enter..Enter..Enter的去排版。 其實網路上有許多這類的WEB工具,Google一下取前三名, Instant SQL Formatter FREEFORMATTER.COM SQL Formatter SQL Formatter 但有時考量資安問題,不想把SQL貼到網頁上,下面有幾套不錯的工具可以使用, ※ Notepad++ step-01 執行外掛管理員 step-02 在[Available]頁籤找到[Poor Man's T-Sql Formatter]套件,並按下[Install]進行安裝 step-03 下載套件並安裝 step-04 提示要重啟程式 step-05 重啟後,會發現外掛管理員已經出現剛剛安裝的套件 step-06 這時隨意打一串很亂的SQL step-07 執行[外掛\Poor Man's T-SQL Formmater\Format T-SQL Code] step-08 SQL就變美美的囉

MSSQL WITH(NOLOCK)

有時在查比較複雜的SQL時會發生效能不佳的況狀,一般都想到加Index,其實也可以用WITH(NOLOCK)來忽略檢查Table資料是否在Transction中。 SELECT * FROM table WITH(NOLOCK) 這語法可以降低Table Lock問題,但也有要注意的地方。因為他忽略不檢查資料是否在Transaction中,所以不管資料是否還沒commit或rollbak,均會被讀取到,也就是Dirty Read。使用時要看這結果是否會影響資料結果。 Reference Web: http://blog.xuite.net/linriva/blog/39534686-%5BT-SQL%5D+WITH+(NOLOCK)%3A+%E6%8F%90%E5%8D%87%E6%9F%A5%E8%A9%A2%E6%95%88%E7%8E%87%E5%92%8C%E9%81%BF%E5%85%8DLOCK%E7%99%BC%E7%94%9F+(%E9%98%B2%E6%AD%A2%E8%B3%87%E6%96%99%E9%81%B8%E5%8F%96%E6%99%82%E8%A2%AB%E9%8E%96%E6%AD%BB)--%E8%BD%89%E8%B2%BC

Android網頁Textbox不彈出鍵盤

有時因為欄位是要用Barcode刷入資料,所以當點到Textbox時希望不要彈出鍵盤。因為是系統特性,所以只能從Javascript下手。 會彈出鍵盤是因為欄位是屬於可編輯欄位,所以只要想辦法把欄位設為唯讀,再利用keypress來讀入輸入的每個字元,組合起來存入欄位,就可以達到我們要的效果。 以下為部份片段程式(這裡使用JQuery), <input type="textbox" class="NotShowKB" id="txtNormal" name="txtNormal" value=""  /> 在要控制的元件上加入class[NotShowKB]   $(document).ready(function(){         $(".NotShowKB").attr("readonly", "readonly");       //$(".NotShowKB").attr("disabled", "true");     $(".NotShowKB").click(function(){         $("#txtNowObj").val($(this).prop("id"));         $(this).css('background-color','yellow');     });     $(".NotShowKB").blur(function(){         $("#txtNowObj").val("");         $(this).css('background-color','transparent');     });     $(".NotShowKB").keypress(function(e){         var fieldVal = $(this).v

Oracle DB Server安裝不同版本的ODAC元件

在Microsoft Windows Server環境上運作的Oracle資料庫, 若因為同時需要跑其他服務(如網頁服務), 而要使用到其他版本的元件(如ODAC), 若選擇原資料庫的安裝路徑, 會發現安裝不進去。 這時要選擇安裝至新目錄, 就可以安裝了, 而且其他服務也可以使用到新原件。

C# OleDbCommand使用Parameter時更新0筆(沒有錯誤)

圖片
sql = "select * from abc where a=:a and b=:b " _oleDbCmd.Parameters.AddWithValue("a", "aaaaa"); _oleDbCmd.Parameters.AddWithValue("b", "bbbb"); 一般使用sqlCommand的Parameter時, 因為有指定名稱, 所以傳值到Parameter時不需與SQL參數順序相同, 但因為OleDbParameter不支援名稱, 所以一定要一樣順序 Reference web: https://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters(v=vs.100).aspx

Hyper-V Win7 P2V開機黑屏

使用win7安裝光碟開機後, 進入修復模式, 打開CMD, 輸入下面 指令修復, 再重新機就可以進入了。 bootrec /fixmbr bootrec /fixboot

Windows 7 無法執行Sysprep , 錯誤訊息:嘗試對電腦執行Sysprep時發生嚴重錯誤

打開 services.msc 然後將 Windows Media Player Network Sharing Service 此服務啟動類型設定為停用 重新開機 reference web: https://social.technet.microsoft.com/Forums/zh-TW/d413e630-faed-48c7-9ae2-337b14694f55/windows-7-sysprep-sysprep?forum=windows7cht

IIS無法使用dotNet Framework

網際網路資訊服務(IIS)管理員→網頁延伸服務 看不到ASP .NET v4.0的可能原因有 因為先裝.NET Framework 4.0,再裝IIS導致 解決方法:重新註冊ASP .NET v4.0 命令提示字元: 1. cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 #切換資料夾 2. aspnet_regiis.exe -i #安裝 ASP.NET (4.0.30319) 3. aspnet_regiis.exe -r #將 IIS 組態變更為使用這一版的 ASP.NET 4. aspnet_regiis.exe -c #複製這個版本 (4.0.30319) 的 ASP.NET 用戶端指令碼檔案 Reference Web: http://blog.xuite.net/zack_pan/blog/46705882-%E7%B6%B2%E9%A0%81%E5%BB%B6%E4%BC%B8%E6%9C%8D%E5%8B%99+%E7%9C%8B%E4%B8%8D%E5%88%B0ASP+.NET+v4.0

MSSQL 2008/2012 記錄檔檔案已滿的錯誤處理

執行下列語法可以壓縮LOG檔案: DBCC SHRINKFILE(Northwind_log,10) 若要截斷交易記錄(不再保留)可以切換為簡單復原模式。 --01 使用 BACKUP LOG ... WITH NO_LOG --01 將資料庫 Northwind 切換為「簡單復原模式」,便會自動截斷交易記錄。 ALTER DATABASE Northwind SET RECOVERY SIMPLE GO --02 若決定要備份交易記錄檔(*.ldf),再將資料庫 Northwind 切換回「完整復原模式」 ALTER DATABASE Northwind SET RECOVERY FULL GO reference web: http://sharedderrick.blogspot.tw/2009/03/transaction-log-for-database-is-full.html http://marco.easyusing.com/2012/08/sql-server-log.html

FileZilla Server無法啟動(Could not load TLS libraries)

圖片
FileZilla Server安裝在Windows上,發生無法開啟的狀況,錯誤訊息如下, 原因是Windows Patch少安裝了,只要到下面網頁安裝對應OS的Patch,重新啟動作業系統就解決了。 https://support.microsoft.com/en-us/kb/2533623 Reference Web: https://forum.filezilla-project.org/viewtopic.php?t=39838

Javascript 變更網址的幾個方法及差異

1. 直接用 <a href="a.htm"> 連結的作法 瀏覽器會送出 Referer 這個 HTTP Header 瀏覽器會紀錄連結的歷史紀錄 ( 好讓瀏覽器的 上一頁 、 下一頁 按鈕可以運作 ) 2. 透過 JavaScript 的 location.href 指派網址 瀏覽器不會送出 Referer 這個 HTTP Header 瀏覽器會紀錄連結的歷史紀錄 ( 好讓瀏覽器的 上一頁 、 下一頁 按鈕可以運作 ) 3. 透過 JavaScript 的 location.replace 傳入網址 瀏覽器不會送出 Referer 這個 HTTP Header 瀏覽器不會紀錄連結的歷史紀錄! ( 瀏覽器將無瀏覽歷史紀錄 ) reference web: http://blog.miniasp.com/post/2009/03/25/location-href-and-location-replace-in-practice.aspx

VS2010開發小技巧

多行編輯:alt+shift+滑鼠 檢視定義後,回到原來位置:ctrl + 減號 Reference Web: http://blog.miniasp.com/post/2011/03/29/Visual-Studio-2010-Tips-Part-01.aspx

C# ref與out差異說明

方法參數宣告為ref與out時,在編譯時視為相同。 ref與out,都是將參數以ByRef方式傳遞。 ref參數在傳入方法之前,要先初始化完畢。 out參數在方法結束之前,要先初始化完畢。 ref 不會強制要求函式內的程式,一定要修改傳入的參數,但 out 會。 當呼叫宣告為out參數的方法時,不管變數有沒有初始化,都可以傳入方法中執行,只要在方法結束前,方法內參數有初始化,就不會出現編譯錯誤。 Reference Web: https://dotblogs.com.tw/hatelove/archive/2012/06/03/ref-and-out-introduction.aspx

[VS2010] 為什麼Class無法被使用

圖片
有時候會從別的專案直接COPY Class來直接使用,卻會有無法被使用的情況發生,比對了新產生的Class找不到差異,後來更仔細看,原來問題是出在"建置"的設定上。 不能被使用的Class檔案屬性如下, 將建置動作改為"編譯",就可以被使用了。 有空再來查查這設定有什麼差異。

[MSSQL] 合併多筆資料至同一欄

圖片
<原始資料>  <SQL執行結果> select ogb01, ogb04, Left(ogb03List, LEN(ogb03List)-1) as ogb03List from ( select distinct ogb01, ogb04, ( select cast(ogb03 as nvarchar) + ',' from ogb_file as ogb2 where ogb2.ogb01='ABC-0001' and ogb2.ogb04=ogb1.ogb04 FOR XML PATH('') ) as ogb03List from ogb_file ogb1 where ogb1.ogb01='ABC-0001' ) A select distinct ogb01, ogb04, substring(( select ',' + cast(ogb03 as nvarchar) from ogb_file as ogb2 where ogb2.ogb01='ABC-0001' and ogb2.ogb04=ogb1.ogb04 FOR XML PATH('') ),2,1000) as ogb03List from ogb_file ogb1 where ogb1.ogb01='ABC-0001'

[Oracle] 合併多筆資料至同一欄

圖片
<原始資料> <SQL執行結果> select ogb01, ogb04, WMSYS.WM_CONCAT(ogb03) as ogb03 from ogb_file where 1=1 and ogb01='ABC-0001' group by ogb01, ogb04

[MSSQL]欄位型態為ntext時中文查不到資料

MSSQL欄位型態為ntext時,若要查用中文查詢時,無法查詢到資料。 SELECT * FROM ATable where A like '%中文字%'; 因為寫入的中文是Unicode,所以where條件要加N來識別,才能查到資料。 SELECT * FROM ATable where A like N'%中文字%'; reference web: http://www.blueshop.com.tw/board/FUM20041006152735ZFS/BRD20050612182713UBP.html