Browse by Tags

KB-三探Windows Update後SSRS不能列印問題
上回貼出 Windows Update導致SSRS不能列印問題 後,有些網友成功了,但似乎有些網友依循文章的解法SP2->GDR2依然不能解決問題,裝完後RSClientPrint.cab仍未更新。由於手邊沒有可以驗證的同樣情境,我想深究也無從嘗試。 今天同事在更新一台SQL時,同樣的情境上演了。GDR2安裝、移除、再安裝了四五次,RSClientPrint.cab還是文風不動,一直保持2007/2/10的版本。 這真是天賜的良機呀!讓這麼刁鑽的問題在我眼前重現,著實令人激動不已... (遇到難題還這麼High...
KB-再探Windows Update後SSRS不能列印問題
【2008-10-30更新】依本文做法仍無法更新RSClientPrint.cab的朋友,請參考我的 第三帖藥方 。 自從貼出 安裝KB956391後SSRS不能列印問題 後,陸續又接獲同事及網友的回報,才慢慢釐清這個事件的始未... SSRS不能網頁列印的原因源於RSClient Print這顆元件被ActiveX KillBit封殺,而封殺的理由是基於安全考量,RSClientPrint Class存在一個 GDI+漏洞 ,讓駭客可以透過惡意的BMP發動溢位攻擊。換句話說, KB956391...
TIPS-Alter Assembly's Owner
Attach或Retore SQL資料庫到別台,必須要先Drop User才能重設User權限,這個我很早就有 經驗 。 這次的問題有點不一樣,在Drop User時出現以下訊息: The database principal owns an assembly and cannot be dropped 用SQL Server Management Studio檢查,果然有一個SQLCLR Stored Procedure的Owner不是dbo,而是這個我要Drop的User。我想起來,之前在Deploy...
Posted 23 October 2008 07:54 AMJeffrey | with no comments 6,526
Filed under: ,
SQL 2005 TIPS - Convert NText To Xml Data Type
使用SSMS SELECT XmlStringCol FROM myTable,發現由於SSRS的結果字元數限制(65535個字元),在結果視窗複製欄位內容再到Notepad貼上,XML的後半截不見了。 雖然這個限制可以修改(如下圖),但一時想要展現高超的T-SQL指令技巧,我決定把它轉成XML,如此可以閃過長度限制,還可以直接在SSMS中檢視XML內容,一舉兩得。 噹!! (痛) 我踢到鐵板了! XmlString是一個NText欄位,裡面放存放的內容來自*.xml的讀取內容,試著將XmlStringCol轉成XML會發生錯誤...
Posted 18 September 2008 08:21 AMJeffrey | 3 comment(s) 12,528
Filed under:
兩個Oracle Linked Server與SQL間資料移轉問題
我在一台SQL上設了Linked Server指向ORACLE,利用 INSERT INTO SqlTable SELECT * FROM LinkedOracleServer..MySchema.MyTable 的方法從ORACLE端匯資料過來,一路相安無事。 直到今天同事改了ORACLE上的Schema,將USERNAME由VARCHAR2改為NVARCHAR2,結果在倒資料時冒出以下錯誤: Msg 7356, Level 16, State 1, Line 5 The OLE DB provider...
Posted 03 September 2008 08:22 AMJeffrey | 6 comment(s) 21,607
Filed under: , ,
Visual Studio 2008不支援SSRS的報表專案編輯
拿到VS2008的朋友,別急著把VS2005移光光,如果你還有編輯SSRS報表專案需求的話。 Visual Studio在大部分的舊版相容策略上,都維持簡便無痛的升級方式,但也有例外,例如: Reporting Service專案。 SQL Server 2000的Reporting Service報表限定只能用VS.NET 2003編輯,SQL 2005的SQL Server Reporing Service(SSRS)則必須搭配VS2005使用。因此Visual Studio 2008目前無法開啟SSRS的專案...
Posted 17 July 2008 12:05 PMJeffrey | with no comments 11,358
.NET分散式交易程式開發FAQ
當系統存取的資料庫伺服器超過一台,或涉及異種資料庫平台間的資料整合,常常就會伴隨分散式交易(Distributed Transaction)的需求。這門進階的學問,在運用的實務上,瑣碎曲折的小細節還挺多的。 以下是我在RUN!PC發表過的文章,整理了使用.NET程式整合MSDTC做分散式交易的一些經驗分享,內容包含了: 常見的疑難雜症及排除方法、分散式交易狀況的偵測、SQL 2005的LTM與OleTx模式、不同做法的效能比較... 等等,在此提供大家參考。 文章下載 【其他相關文章】 KB-.NET...
【茶包射手專欄】奧妙的MSDTC咒語
之前運作一段時間的電子表單系統,最近又擴充了三台新主機。奇怪的是,在三台新主機上,有個撤銷表單的網頁功能一直出問題,會傳回 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 錯誤。 通常,存取權限錯誤可以用抓鬼一哥 Process Monitor 輕易抓出來,但這次卻不然。ProcMon裡看不到可疑的Registry或File Access Denied訊息。Trace Code發現這段程式啟動了 TransactionScope...
SSRS列印報表錯誤0x8007F304
最近上了一批SSRS的新報表,使用者抱怨列印時,會出現" 列印時發生錯誤。(0x8007F304) "的錯誤訊息。 印象中,Reporting Service由SQL 2000版本昇級至SQL 2005的SSRS後,有遇過類似問題,絕大部分的原因都來自於列印時會用到的一顆ActiveX元件--RSClientPrint Class。 Google了一下,研判這次遇到的問題也肇因於RSClientPrint的Bug,而MS在SQL 2005 SP1裡已修復了這類問題。因此,我猜想是使用者連上了未裝SP1的Reporting...
TIPS-SqlConnection的ConnectionString保密機制
在設計資料庫相關程式時,連線字串最好能以加密方式存在config檔案裡;再進一步,最好連解密字串的機制都封裝在特定的資料存取元件中,開發人員及呼叫端程式只需傳入SqlCommand或更高階的抽象化資料物件,就可以完成資料庫存取作業,不必也不能得知連線字串的相關細節。 只是依我自己的實務經驗,有時直接傳連線物件(SqlConnection)給呼叫端是較省事的做法(丟一個連線給你自己玩,別來煩我! 是有點不負責任,但元件開發者未必有時間陪著在每個案子中抱著各式不同的需求打滾),連線丟出去了,呼叫端來個SqlConnection...
TIPS-Enable SSRS Remote Errors
SQL 2000的Reporting Service在報表錯誤時會將錯誤訊息顯示在網頁上,但SQL 2005的SSRS在錯誤時只會傳回: 如需有關此錯誤的詳細資料,請導覽至本機伺服器電腦上的報表伺服器,或啟用遠端錯誤 (原文: For more information about this error, navigate to the report server on the local server machine, or enable remote errors.) 此時我們很容易被誤導聯想到web...
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...
Posted 12 January 2008 01:57 AMJeffrey | 9 comment(s) 29,968
Filed under: , ,
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...
TIPS-Log Deadlock Event For SQL 2005
之前介紹過如何用Profiler 抓到Deadlock事件 ,在實務上,Deadlock的發生時機不是很容易掌握,而且多發生在尖峰時刻,一直開著Profiler將是挺沈重的系統負擔。因此,我認為以錯誤事件的態度面對Deadlock, 要求其在發生時留下Log是比較有效率掌握Deadlock相關情報(尤其是導致Deadlock的T-SQL指令)的做法。查了一下,SQL Server上可以利用DBCC TRACEON開啟與Deadlock相關的幾個Flag: 1204, 1205, 3605,如要長期開啟...
Posted 17 October 2007 02:38 AMJeffrey | 2 comment(s) 11,349
Filed under:
更多文章 « 上一頁 - 下一頁 »

搜尋

Go

<April 2021>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication