in

Darkthread

黑暗執行緒

JeffreyBlog

  • 【茶包射手日記】Visual Studio 編譯自動帶入相依 DLL 問題

    同事報案,在 Visual Studio 從私有 NuGet 伺服器安裝我寫的共用元件,該元件參照了 Managed ODP.NET 但沒在 NuGet Package 宣告相依性,理論上不會一併安裝 Managed ODP.NET NuGet Package,但同事發現建置後 bin 目錄卻神奇地出現 Oracle.ManagedDataAccess.dll。試著在我的電腦演練相同操作,bin 目錄並不會出現 Oracle.ManagedDataAccess.dll!很明顯這又是我不了解的「魔法...
  • 在單元測試專案使用 dynamic 出現 CSharpArgumentInfo.Create 錯誤

    在自動測試專案加入使用 dynamic 型別的測試方法後,Visual Studio 2017 傳回編譯錯誤: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create' 在 Microsoft Connect 查到相似 錯誤回報 ,案例集中在微軟單位測試及 NUnit 測試專案(NUnit 可透過更新版本解決),推測為單元測試專案預設未參照 Microsoft...
  • 【茶包射手日記】ORACLE JOIN GROUP BY 子查詢爆慢疑案

    接獲同事報案,某段 Oracle 查詢偶發嚴重效能問題。查詢時資料表經由 JOIN 自身的 GROUP BY 子查詢挑出某日期前客戶最新的一筆資料: SELECT ccb.Key1, ccb.Key2, ccb.Key3, ccb.Key4, ccb.Key5, ccb.Col1, ccb.Col2, ccb.Col3, ccb.Col4, --...略... ccb.Col20 FROM MyTable ccb INNER JOIN ( SELECT Key0,Key1,Key2, Key3,...
  • KB-當 WHERE AND/OR 條件遇上 NULL

    在 SQL 世界裡 NULL 性質特殊,行為獨特,過去就曾討論過: KB-詭異的NOT IN查詢,原來是NULL搞鬼 ORACLE, 你把空字串怎麼了 自以為至此對 NULL 認識已足,不料前兩天在 WHERE LIKE AND/OR 情境中遇上 NULL,一時意志動搖陷入迷惘,想必是認知還不夠深刻,再補篇 KB 吧! 先別急著看答案,大家猜猜以下 SQL 指令會得到什麼結果? select 'T1' , 'MATCH' from dual where null like...
  • COALESCE 發生字元設定不符合錯誤

    同事報案,Dapper 查詢 ORACLE 時使用 COALESCE() 遇到 ORA-12704: character set mismatch(字元設定不符) 錯誤。 我用以下程式成功重現問題:(jefftest2.t 欄位為 NVARCHAR2) static void Main( string [] args) { using (var cn = new OracleConnection(csStr)) { var list = cn.Query( "select 1 from...
  • SQLite 批次 INSERT 的蝸牛陷阱

    假日轉檯寫 Coding4Fun 專案,本週的 Scrum Sprint Planning Meeting 我認領的工作是將 13 萬英文單字轉入 SQLite 資料庫 (謎:認領?快醒醒,這專案從頭到尾只有你一個人吧?)。 心想這有什麼難,涮涮涮寫好以下程式,沒想到其執行速度之慢,嚇得我屁滾尿流失了魂… using (var cnSqlite = new SQLiteConnection(csSqlite)) { cnSqlite.Open(); Stopwatch sw = new Stopwatch...
  • CODE-使用 C# 批次列印 PDF 檔案

    專案遇到批次列印 PDF 檔需求。 Acrobat Reader 或 Foxit Reader 等常用 PDF 軟體本身就具備傳參數直接列印功能,例如 Acrobat Reader 直接列印 PDF 之語法為:AcroRd32.exe /p /h "pdf路徑" "印表機名稱"(印表機名稱省略時由預設印表機輸出) 基於以上資訊,最直覺的做法是找出 Acrobat Reader EXE 檔(AcroRd32.exe)路徑,在 .NET 程式透過 Process...
  • 【茶包射手筆記】詭異的 Word 字元疊疊樂

    同事遇到一個 Word 鬼問題,某份使用者提供的 Word 文件,有段文字難以修改,輸入的文字會消失或重疊在一起! 做了一個範例重現問題。如下圖所示,文件原本有個字母 T,將游標移到 T 的後方,試著輸入 A、B、C、D、E 字元,看到的不是TABCDE,而是全部字元都疊在一起! 經過一番摸索,發現問題出在這段內容的「字型/字元間距/間距」設定被設成「緊縮」(預設為標準),並指定點數為 7.5 點,將其改回標準即一切正常。 順手測了緊縮不同點數的效果: 基本上 2 點已是極限,超過則文字重疊難以閱讀...
  • 【茶包射手筆記】SQL 錯誤-Server 'XXX' is not configured for RPC

    在測試台運作正常,程式部署到正式環境後出現 SQL 錯誤: System.Data.SqlClient.SqlException (0x80131904): Server 'XXX' is not configured for RPC. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)...
  • 【茶包射手筆記】IIS 設定順序導致 500.19 錯誤

    HTTP 500.19 錯誤多因 ASP.NET 父網站與子網站因繼承關係導致設定項目重複,過去曾經歷幾次( IIS 7限制IP存取的設定錯誤 、 怪異的web.config HttpHandler重複錯誤 ),今天再遇到 IP 限制設定重複導致子網站掛點的狀況,同事發誓一切操作合情合理,想想上回 IIS 7 IP 限制設定打架案例沒有逆天亂搞照樣出錯,推測其中有雷,決定現場模擬還原真相。 我在 IIS 設定一獨立站台 Test,其下加入 Child 子網站。父網站的 index.html 以 IFrame...
  • 關於 Shared Memory 的兩三事

    參與古老系統的搬遷工程,其中使用 Shared Memory 實現跨 Process 溝通(例如:ASP.NET 呼叫 Window Service),也因而被迫了解這門對 .NET 開發者偏冷門的技術,特筆記備忘。 【Shared Memory 是什麼?】 跨 Process 溝通有個術語,Interprocess Communictaion(IPC),在 Windows 平台有以下選擇: 參考 Clipboard 程式 A 將内容貼進剪貼簿,程式 B 自剪貼簿取出内容。 COM OLE 複合文件...
  • Windows 10 搜尋問題排除經驗二則

    工作機由 Windows 8.1 升級至 Windows 10,過程挺順利,原本安裝的應用程式、環境設定幾乎都無痛移轉,午休時間升級完畢,下午打開 Visual Studio 就接著上工,算是一次良好體驗。 (升級軟體有賺有賠,別人成功不保證你不會踩雷,升級前請詳閱公開說明書) 但搜尋上遇到一點小問題。 升級後手癢,想說新環境就該重新規劃一下磁碟分配,把 Windows 搜尋的索引位置從 C:\ProgramData\Microsoft 移到 X:\ProgramData\Microsoft,節省寶貴的...
  • Visual Studio 開啟專案出現 SQL Server Express 未安裝警告

    在公司開啟某些工作專案時,我的 Visaul Studio 常會彈出像這樣的警告訊息: The Web project 'MyWeb' requires SQL Server Express LocalDB, whick is not installed on this computer. To upgrade the project database to use latest SQL Server Express LocalDB, double-click the database...
  • 部落格 1000 萬次點閱紀念暨抽獎活動

    (灑花灑花再灑花) 2004 起開始寫部落格,2006/4/15 啟用 statcounter 計數器,歷經 4096 天,部落格點閱數正式突破 1000 萬次囉! 部落格一寫 13 年,熱血青年已成老鹹魚,學習能力與鑽研熱情早不復當年,與年輕小新肝們相比天差地別,唯一能佔便宜只剩多點經驗。算算這輩子是定型了,不是當將領的材料,頂多當個身經百戰的老士官長,沒本事帶兵攻城掠地,面對戰場種種倒是駕輕就熟,水坑沼澤獨木橋,三行四進挖戰壕,掃雷爆破拼刺刀,生火包紮吃野草,什麼挑戰都難不倒,是那種登場後能撐很久不領便當的角色...
  • CODE - 數字轉英文 C# 函式庫

    專案遇上數字轉成英文的需求,例如:1234 需轉為 one thousand two hundred thirty four。 網路上有許多解決方案,程式範例、現成函式庫都有,選擇眾多之下,透過 NuGet 即裝即用才是王道。我找到一個,在 NuGet 搜尋 NUT,第一筆 Nut, Number To Text Converter & Money To Text Converter: 程式為 Open Source, 使用說明與原始碼在 Github 上: https://github...
更多文章 下一頁 »
Powered by Community Server (Non-Commercial Edition), by Telligent Systems