Browse by Tags

KB-再探Windows Update後SSRS不能列印問題
【2008-10-30更新】依本文做法仍無法更新RSClientPrint.cab的朋友,請參考我的 第三帖藥方 。 自從貼出 安裝KB956391後SSRS不能列印問題 後,陸續又接獲同事及網友的回報,才慢慢釐清這個事件的始未... SSRS不能網頁列印的原因源於RSClient Print這顆元件被ActiveX KillBit封殺,而封殺的理由是基於安全考量,RSClientPrint Class存在一個 GDI+漏洞 ,讓駭客可以透過惡意的BMP發動溢位攻擊。換句話說, KB956391...
TIPS-SqlConnection的ConnectionString保密機制
在設計資料庫相關程式時,連線字串最好能以加密方式存在config檔案裡;再進一步,最好連解密字串的機制都封裝在特定的資料存取元件中,開發人員及呼叫端程式只需傳入SqlCommand或更高階的抽象化資料物件,就可以完成資料庫存取作業,不必也不能得知連線字串的相關細節。 只是依我自己的實務經驗,有時直接傳連線物件(SqlConnection)給呼叫端是較省事的做法(丟一個連線給你自己玩,別來煩我! 是有點不負責任,但元件開發者未必有時間陪著在每個案子中抱著各式不同的需求打滾),連線丟出去了,呼叫端來個SqlConnection...
KB-SQL 2000 BULK INSERT Error
今天在一台SQL 2000上做BULK INSERT,語法是 BULK INSERT PicLibrary FROM 'C:\Output\PicInfo.txt' WITH ( BATCHSIZE = 1000, FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n', TABLOCK ) 我之前在SQL 2005上做過 同樣的事 ,但這回在SQL 2000上卻一直爆出錯誤: 訊息 4866,層級 16,狀態 1...
BULK INSERT Performance
一直以為BULK INSERT就不會記Log,結果今天跌了一跤... 我下的語法如下(錯誤示範,小朋友不要學) TRUNCATE TABLE RESD BULK INSERT RESDE FROM 'C:\DataProc\Output\RESD.txt' WITH ( FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n' ) RESD.txt約1.4G,結果BULK INSERT花了30分鐘還沒做完,Log檔就長到20G...
Two Database Tips
#別用浮點數算錢 Don't use float in currency calculation DECLARE @f1 FLOAT , @f2 FLOAT DECLARE @f3 FLOAT , @f4 FLOAT SET @f1=6481.45 SET @f2=6000 SET @f3=0.1 SET @f4=(@f1-@f2)*@f3 SELECT (6481.45-6000)*0.1 AS V1 SELECT @f4 AS V2 SELECT ROUND(@f4, 2) AS V3 SELECT...
TIPS-Calculating Percentage In SQL Query
有一個資料表,內有四筆資料,數量分別是2, 3, 5, 10,我希望用SQL查出如下包含百分比10%,15%, 25%, 50%的結果: ID AMT PERC ----- ------ ------- 1 2 10% 2 3 15% 3 5 25% 4 10 50% 同事出了這個考題給我,算是讓我學會 SUM() OVER (PARTITION BY ...)的用法。以上問題的解法如下: --FOR ORACLE SELECT ID, AMT, AMT * 100 / SUM (AMT) OVER...
KB-Deadlock Detection And Retrial Sample
最近在處理表單引擎的Deadlock問題,由於引擎核心以物件導向方式開發,很難為了資料庫的更新問題去挪動物件的呼叫順序。但還是努力做了調整,每天Deadlock的發生次數終於壓到個位數,但要100%避免看來是不可能的(至少以我的能力來說是如此)。既然逃不掉,就乖乖面對吧! 一般處理Deadlock的準則是Wait And Retrial,換句話說,程式邏輯本身並沒有任何錯誤,純粹是運氣不好,跟其他Process的資料庫更新作業強碰且被SQL Server挑中變成犠牲品,在絕大部份的情況下,在我們接到Exception的同時...
TOOL-UrlEncode Function For SQL Server (Support Unicode)
朋友想在SQL Server中進行UrlEncode,原本想用SQLCLR包 System.Web.HttpUtility.UrlEncode ,但似乎SQLCLR裡不能匯入System.Web[ 註 ],後來雖然找到了Peter DeBetta用T-SQL寫的 UrlEncode UDF ,但處理中文有問題。 一時技癢,就改寫出以下的UDF,最大的改良是可以將Unicode文字轉成%u nnnn 的格式。 有需要的朋友可以參考看看(SQL 2000也可以用)。 -- =============...
數大便不美
奈米(nanometer)科技最有趣的一點在於當物質的粒子小到一定程度時,物質的特性會迥異於原本巨觀尺度下的物理、化學及生物特性。以無人不愛的黃金為例,當它被製成金奈米粒子(nanoparticle)時,顏色不再是金黃色而呈紅色,說明了光學性質因尺度的不同而有所變化。又如石墨因質地柔軟而被用來製作鉛筆筆芯,但同樣由碳元素構成、結構相似的碳奈米管,強度竟然遠高於不銹鋼,又具有良好的彈性,因此成為顯微探針及微電極的絕佳材料。 from http://nano.nchc.org.tw/aboutnano...
KB-T-SQL找最大值方法的效能比較
今天跟同事討論用T-SQL查資料表中最大值的方法,一群人總共想出三種: SELECT TOP 1 + ORDER BY, SELECT MAX, 再來是用CURSOR的FETCH LAST。三種做法,哪一個最有效率呢? 初步想起來,用CURSOR是最笨重的,肯定最慢。剩下的兩種,MAX()是Aggregate Function,依據我過去寫SQLCLR自訂Aggregate Function的經驗,每一列的資料都要送入Funtion中比較,應該會輸給內建的ORDER BY吧? 找來一個有150萬筆資料的Table...
Posted 29 March 2007 06:04 PM by Jeffrey | with no comments
Filed under: , ,
KB-Report Margin Changed After SQL Server 2000 Report Service SP2
最近有台SQL Server 2000 Reporting Service主機在部署好報表後,才發現忘了上SP2。上完SP2,卻發現部分報表在列印時邊界設定變了,導致原本一頁要印完的報表印成兩頁。 Google了一下,找到這篇 說明 ,原來SP2為了配合線上列印的Print Control,會在Publish時為報表補上Page Size, Margin等屬性設定,但在SP2之前Publish的報表沒有這些屬性,就會套用8.5" x 11"的紙張, 0.5"邊界的預設值,造成列印結果與原先設計有所出入...
Posted 09 March 2007 09:42 AM by Jeffrey | with no comments
Filed under:
KB-Moving SQL Database to Different Language SQL Server
因為英文算是Google大神的母語,為了能直接拿錯誤訊息向大神提問,達到"What you see, what you search!"的美妙境界,除了Office之外,我的OS、Server一直都裝英文版。 (雖然這幾年下來,將中文錯誤訊息翻回英文的能力已經增強不少了,但直接用錯誤訊息查答案的爽快感受只有試過的人才知道,還很容易上癮!) 這個哲學逐步落實到我工作時的伺服器規劃上,只要沒有特別考量,我都會指定OS,SQL等要安裝英文版本。一直以來,這個策略是成功的,已有多次經驗靠著精準的錯誤訊息導引...
KB-MSDTC cross different domains
之前提過在Windows 2003上設定MSDTC時需要 注意的事項 ,今天又有新的發現。 依測試結果,當Client與SQL Server分處於不同AD Domain時,可能導致分散式交易失敗。現象是Connection.Open()傳回錯誤訊息: New transaction cannot enlist in the specified transaction coordinator. 問題肇因於MSDTC靠雙向的RPC管道溝通,因此SQL Server所在的主機也要有能力連回Client端...
Cannot Generate SSPI Context Error @ SQL
遇到一個詭異的SQL問題。 有一台SQL與Web同台的ASP網站系統(Windows 2000+SQL 2000),使用COM+ Application中的自製VB6資料庫存取元件,COM+ App以特定的使用者身份執行,今天在連接本機SQL時,出現" Cannot generate SSPI context "的錯誤訊息。 經驗中,這鐵定是使用NT整合式認證連線SQL資料庫失敗所致。再三檢查了COM+ Appliction的Identity身份設定,確認帳號密碼無誤。我還做了一個比對測試,用該帳號登入該台主機...
KB-QueryAnalyzer Bug??
用Query Analyzer查詢一個Table的Text欄位,發現筆數一多就會發生以下的錯誤 [Microsoft][ODBC SQL Server Driver]Unknown token received from SQL Server 或 [Microsoft][ODBC SQL Server Driver]Protocol error in TDS stream 這導致明明要查一百筆,有時傳回59筆,有時傳回92筆,有時則100筆都傳回。於是我在查詢欄位中加入了DataLength去檢查Text欄位的大小...
Posted 10 August 2006 09:49 PM by Jeffrey | with no comments
Filed under:
More Posts Next page »

Search

Go

<November 2008>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
 
RSS
【工商服務】


BlogLook Score and Rank

Syndication