無意中看到這個open source的工具, Pencil Project
官方首頁這麼寫著
The Pencil Project's unique mission is to build a free and opensource tool for making diagrams and GUI prototyping that everyone can use.
當下覺得這free 又是 opensource, 又可畫GUIprototyping, 就覺得很有意思.
下載下來安裝, 目前是1.2 build 0
以往寫文件做UI展示說明時,不管是client/server 或website project, 通常都是看專案是用什麼工具開發,就用什麼工具去做UI的設計.
或者寫power point檔時,常需要用圖表來表示重點,通常也都是用visio,自已每次在用visio時,總是怨嘆自已缺乏藝術天份,覺得做出來的圖很二光.
有了這個工具,在做UI design時,就覺得很有FU了,而且元件拖拉及對齊也很方便.里頭的一些元素也是我喜歡的那種style
另外,也可以匯入別人做好的stencils (collection)及export template
不管用何種export template, 其實最後其實都是將設計好的UI轉成圖檔再嵌入吧?
試過後,只有匯出圖檔和html格式是OK的.
來一張匯出的截圖..嗯....很像一回事..
至於匯出pdf,doc則有錯誤,參考這個issue的說明吧
就嚐鮮來說, 這真是個有趣的工具.
2010年10月30日 星期六
2010年10月29日 星期五
BugNet - OraAspNetConString?
今天測試時,突然跳了個runtime error
The connection name 'OraAspNetConString' was not found in the applications configuration or the connection string is empty. (C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 166)
WHY????
今天確實裝了oracle client 11g r2
也剛好google到討論,不然又是一陣莫名奇妙...
Widget Administration not found.
<siteMap>
<providers>
<add name="OracleSiteMapProvider" type="Oracle.Web.SiteMap.OracleSiteMapProvider, Oracle.Web, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" securityTrimmingEnabled="true" />
</providers>
</siteMap>
The connection name 'OraAspNetConString' was not found in the applications configuration or the connection string is empty. (C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 166)
WHY????
今天確實裝了oracle client 11g r2
也剛好google到討論,不然又是一陣莫名奇妙...
Widget Administration not found.
.NET 2.0 SiteMap使用的时候有一个错误
註解掉 C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config<siteMap>
<providers>
<add name="OracleSiteMapProvider" type="Oracle.Web.SiteMap.OracleSiteMapProvider, Oracle.Web, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" securityTrimmingEnabled="true" />
</providers>
</siteMap>
SSRS 2008 欄位動態隱藏
在SSRS 2008 report designer中,將欄位動態顯示,是直接設定textbox的Hidden屬性.
preview時,看來一切都很正常,整個欄位也會隨著條件做顯示
轉成rdlc後,在website檢視這張表,卻發現動態顯示欄位的功能失效了.
試了一下,在Column Groups中設定才能正常動態顯示欄位.
先將report designer的Column Groups切換到Adavanced Mode
點選要動態隱藏的欄位(例上圖第9個(Static)欄位)
在屬性Hidden設定隱藏的Expression
這樣就可以動態依條件顯示欄位了.
RDL和RDLC雖然都可藉由report viewer來呈現.但RDLC使用上仍有一些限制,可以參考MSDN上的比較說明
preview時,看來一切都很正常,整個欄位也會隨著條件做顯示
轉成rdlc後,在website檢視這張表,卻發現動態顯示欄位的功能失效了.
試了一下,在Column Groups中設定才能正常動態顯示欄位.
先將report designer的Column Groups切換到Adavanced Mode
點選要動態隱藏的欄位(例上圖第9個(Static)欄位)
在屬性Hidden設定隱藏的Expression
這樣就可以動態依條件顯示欄位了.
RDL和RDLC雖然都可藉由report viewer來呈現.但RDLC使用上仍有一些限制,可以參考MSDN上的比較說明
Visual Studio 2010 中的 Reporting Services 和 ReportViewer 控制項
2010年10月28日 星期四
sql2008r2 64bit 查詢sql2000 32bit linked db
在sql 2008 r2 64bit加入一台sql 2000 linked db.
新增時一切正常,也可瀏覽目錄.
但4 part name查詢時,出現以下錯誤
osql -U sa -P yourPWD -S ss2000 -i "C:\Program Files\Microsoft SQL Server\MSSQL\Install\instcat.sql"
執行完成後, 4 part name 的查詢就正常了
新增時一切正常,也可瀏覽目錄.
但4 part name查詢時,出現以下錯誤
無法為連結伺服器 XXX 的 OLE DB 提供者 "SQLNCLI10" 取得結構描述資料列集 "DBSCHEMA_TABLES_INFO"。提供者支援介面,但在使用時傳回失敗碼。
建立linked db時Provider 確實是選擇用SQL Server Native Client 10.0的方式建立的
後來改用 ODBC選SQL Server的驅動來建立linked db,就沒有此查詢錯誤了.
也可參考這篇KB 的解決方法.在sql server 2000那台機器上執行下列dos 指令
執行完成後, 4 part name 的查詢就正常了
2010年10月27日 星期三
T400 ATI Driver問題
這個問題遇到很多次了, 每次都是在開IE瀏覽器中出現問題
自從二週前將RAM升到8GB後,現在幾乎每天都會至少來個二次.
真不確定是RAM的問題還是IE的問題, 至少使用firefox時,還沒有這種狀況發生
問題出現時,MOUSE會先停住無法使用, 接著整個畫面HANG住沒反應, 然後2秒後整個螢幕一閃成黑色後再回迅速回復,接著就出現"顯示器驅動程式停止回應,並已恢復, 顯示器驅動程式AMD driver停止回應,並已順利恢復" 的訊息
將ATI Driver升級到官方最新版本還是一樣. BIOS中DISPALY改成只使用獨立顯卡也是一樣
2012/04/21
經過幾個月來的觀察, 到聯想維修中心去換了主機板後, 這個問題已經不再發生.
(維修之前也曾整個重灌過,麻是沒用.)
但仍有一個問題是, 以前t42直接蓋上後就進入待命狀況(月亮), 但t400蓋上後,再把電源拔掉時,無法待命, 如不注意,就放進背包外出,等到了目的地時,才發現NB根本沒在待命狀態中,而且一整個發燙.而且是極燙....
反覆測了幾次,終於找到方法, 就是要先拔掉電源,MOUSE後, 再蓋上,就真的進入待命 了.
心得是, 大和實驗室不再是金字招牌了.
IBM THINKPAD...... I MISS U.
自從二週前將RAM升到8GB後,現在幾乎每天都會至少來個二次.
真不確定是RAM的問題還是IE的問題, 至少使用firefox時,還沒有這種狀況發生
問題出現時,MOUSE會先停住無法使用, 接著整個畫面HANG住沒反應, 然後2秒後整個螢幕一閃成黑色後再回迅速回復,接著就出現"顯示器驅動程式停止回應,並已恢復, 顯示器驅動程式AMD driver停止回應,並已順利恢復" 的訊息
將ATI Driver升級到官方最新版本還是一樣. BIOS中DISPALY改成只使用獨立顯卡也是一樣
2012/04/21
經過幾個月來的觀察, 到聯想維修中心去換了主機板後, 這個問題已經不再發生.
(維修之前也曾整個重灌過,麻是沒用.)
但仍有一個問題是, 以前t42直接蓋上後就進入待命狀況(月亮), 但t400蓋上後,再把電源拔掉時,無法待命, 如不注意,就放進背包外出,等到了目的地時,才發現NB根本沒在待命狀態中,而且一整個發燙.而且是極燙....
反覆測了幾次,終於找到方法, 就是要先拔掉電源,MOUSE後, 再蓋上,就真的進入待命 了.
心得是, 大和實驗室不再是金字招牌了.
IBM THINKPAD...... I MISS U.
2010年10月26日 星期二
Informix dbload大量資料
infmrox 更改欄位型態时, 因為有些table 太大,若在buffer log下使用alter 方式來修改,容易造成long transaction
有時即使切換成nolog模式, alter也不見會成功
所以應使用unload and dbload的方法來重轉資料
informix沒有GUI的管理介面, shell又不太熟, 就土法煉鋼一步一步做吧.
(心中不禁佩服那些在unix terminal mode下做事的偉人...,慶幸我活在SQL Server 的陰影下)
1.unload data (可以包成shell, 用nohup backgroud執行,若筆數過大,建議放成幾個.unl檔)
set isolation to dirty read;
unload to a.unl delimiter ';'
select * from yourTable;
事後要再切割.unl檔,可以使用 split -10000 a.unl
表示將a.unl 每10000筆切割一個檔案, 會產生xaa,xab,xac......的檔案
2.create your temp table (要放unload的資料)
3.create a.com ( dbload要用到的command file, 其中160是欄位數)
FILE a.unl DELIMITER ';' 160;
INSERT INTO table_tmp;
4.prepare dbload.sh (執行a.com,將資料轉入 table_tmp, 每1000筆commit一次, errorlog 寫到 a.err
dbload -d yourdb -c a.com -l a.err -e 0 -n 1000
以上可都可寫成shell後,用nohup time sh xx.sh >> xx.out 2>&1 &的方式執行, 一來可background作業, 二來可以記錄每次作業的時間, 就不用一直守著陽光守著結果了.. ..
ps.為什麼不用SSIS呢? 因為用SSIS 轉informix資料真是一大折磨,問題多多, 原本SQL 2000 DTS連結informix超級完美, 但SSIS 2005後,問題一堆... 使用官方的driver測試後的效果實在差到不行, 光是一個簡單的單一table 做data flow task, 就嗝屁了. 是我程度太LOW嗎?
有時即使切換成nolog模式, alter也不見會成功
所以應使用unload and dbload的方法來重轉資料
informix沒有GUI的管理介面, shell又不太熟, 就土法煉鋼一步一步做吧.
(心中不禁佩服那些在unix terminal mode下做事的偉人...,慶幸我活在SQL Server 的陰影下)
1.unload data (可以包成shell, 用nohup backgroud執行,若筆數過大,建議放成幾個.unl檔)
set isolation to dirty read;
unload to a.unl delimiter ';'
select * from yourTable;
事後要再切割.unl檔,可以使用 split -10000 a.unl
表示將a.unl 每10000筆切割一個檔案, 會產生xaa,xab,xac......的檔案
2.create your temp table (要放unload的資料)
3.create a.com ( dbload要用到的command file, 其中160是欄位數)
FILE a.unl DELIMITER ';' 160;
INSERT INTO table_tmp;
4.prepare dbload.sh (執行a.com,將資料轉入 table_tmp, 每1000筆commit一次, errorlog 寫到 a.err
dbload -d yourdb -c a.com -l a.err -e 0 -n 1000
以上可都可寫成shell後,用nohup time sh xx.sh >> xx.out 2>&1 &的方式執行, 一來可background作業, 二來可以記錄每次作業的時間, 就不用一直守著陽光守著結果了.. ..
ps.為什麼不用SSIS呢? 因為用SSIS 轉informix資料真是一大折磨,問題多多, 原本SQL 2000 DTS連結informix超級完美, 但SSIS 2005後,問題一堆... 使用官方的driver測試後的效果實在差到不行, 光是一個簡單的單一table 做data flow task, 就嗝屁了. 是我程度太LOW嗎?
SQLServer 2008R2 修復失敗
因為vs2008無法debug的問題,昨天重裝window 7,
也因為手上幾個專案橫跨sql2000 - sql 2008, 除了sql 2000是放在VPC外, 我在這台windows 7分別案裝了SSMS2005和SSMS2008, 安裝時,忘了記取上回SSMS類別未登錄的教訓, 結果裝完sql 2008R2後,才發現, 順序又弄錯了, 造成開啟SSMS 2005的project時出現類別未登錄的錯.
我真是腦殘.....OS仍是.法克....
在MS connect 上看到一篇相關的解法方法,依法處理.
Start /wait E:\Software\MicroSoft\SQL2005\StandardENG\DISC1\setup.exe /qb INSTANCENAME=yourserver REINSTALL=ALL REINSTALLMODE=omus SAPWD=yourpwd
結果SSMS 2005修好了, 但現在變成SSMS 2008 沒法開solution了. 我真是手賤....
也想如法泡製重新安裝SSMS 2008,結果這個安裝指令不適用在SQL 2008
那就repair一下SQL 2008 R2吧, 執行一半出現
Error 1316.A network error occurred while attempting to read from the file F:\1033_ENU_LP\x64\setup\SSCERuntime_x86-enu.msi
看了一下 安裝光碟根本沒有這個檔案..只有SSCERuntime.msi.
唉, again ........殘念. ......Remove and Reinstall. 又是瞎忙的一天. OS.....仍是法客
也因為手上幾個專案橫跨sql2000 - sql 2008, 除了sql 2000是放在VPC外, 我在這台windows 7分別案裝了SSMS2005和SSMS2008, 安裝時,忘了記取上回SSMS類別未登錄的教訓, 結果裝完sql 2008R2後,才發現, 順序又弄錯了, 造成開啟SSMS 2005的project時出現類別未登錄的錯.
我真是腦殘.....OS仍是.法克....
在MS connect 上看到一篇相關的解法方法,依法處理.
Start /wait E:\Software\MicroSoft\SQL2005\StandardENG\DISC1\setup.exe /qb INSTANCENAME=yourserver REINSTALL=ALL REINSTALLMODE=omus SAPWD=yourpwd
結果SSMS 2005修好了, 但現在變成SSMS 2008 沒法開solution了. 我真是手賤....
也想如法泡製重新安裝SSMS 2008,結果這個安裝指令不適用在SQL 2008
那就repair一下SQL 2008 R2吧, 執行一半出現
Error 1316.A network error occurred while attempting to read from the file F:\1033_ENU_LP\x64\setup\SSCERuntime_x86-enu.msi
看了一下 安裝光碟根本沒有這個檔案..只有SSCERuntime.msi.
唉, again ........殘念. ......Remove and Reinstall. 又是瞎忙的一天. OS.....仍是法客
VS2008無法進入debug 模式
前幾天,想要debug一下某個vs2008的專案檔.
按F5進入debug後, 原本應該disable變成灰色的綠色執行鍵, 在一開啟ie後, 就變回綠色,完全無法進入debug模式.
試了二天, 網路上一堆相同問題,但各有不同解決的方法, 我都試過而且還將windows 7重裝,vs2008重裝.....實在很雖小,在那麼clean的環境下, 仍然無法debug, 強烈懷疑是某個windows 更新造成的?
幹....這一個月來我得了電腦災害, 一堆問題突然湧現, 我心中吶喊這個字不止上千遍了.
今天, 試最後一招, 用run as administrator開啟vs2008......
太神奇....我明明就是用adminstrators的帳號登入本機的啊... WHY, 開過一次後, 這個無法debug的問題就解決了..
一頭霧水................................................法客
按F5進入debug後, 原本應該disable變成灰色的綠色執行鍵, 在一開啟ie後, 就變回綠色,完全無法進入debug模式.
試了二天, 網路上一堆相同問題,但各有不同解決的方法, 我都試過而且還將windows 7重裝,vs2008重裝.....實在很雖小,在那麼clean的環境下, 仍然無法debug, 強烈懷疑是某個windows 更新造成的?
幹....這一個月來我得了電腦災害, 一堆問題突然湧現, 我心中吶喊這個字不止上千遍了.
今天, 試最後一招, 用run as administrator開啟vs2008......
太神奇....我明明就是用adminstrators的帳號登入本機的啊... WHY, 開過一次後, 這個無法debug的問題就解決了..
一頭霧水................................................法客
2010年10月23日 星期六
BugNet Email寄送
啟用寄發Email通知的功能
1.在 /Administration/Host/Settings.aspx 下的 Mail / SMTP 設定mail server , host email
2.在web.config 將
<system.net>
<mailsettings>
</mailsettings>
</system.net>
改成
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
</smtp>
</mailSettings>
</system.net>
3.新增issue時,assigned to 時, Notify 要checked (default is true)
4.自已assign給自已的issue異動,你不會收到mail通知的, 但若是別人異動這個issue則會收到.
You won't receive email notifications for your own actions, but others will.
1.在 /Administration/Host/Settings.aspx 下的 Mail / SMTP 設定mail server , host email
2.在web.config 將
<system.net>
<mailsettings>
<smtp deliverymethod="SpecifiedPickupDirectory">
<specifiedpickupdirectory pickupdirectorylocation="C:\Email">
</specifiedpickupdirectory>
</smtp>
<specifiedpickupdirectory pickupdirectorylocation="C:\Email">
</specifiedpickupdirectory>
</smtp>
</mailsettings>
</system.net>
改成
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
</smtp>
</mailSettings>
</system.net>
3.新增issue時,assigned to 時, Notify 要checked (default is true)
4.自已assign給自已的issue異動,你不會收到mail通知的, 但若是別人異動這個issue則會收到.
You won't receive email notifications for your own actions, but others will.
2010年10月18日 星期一
已經為連結伺服器 "test" 的提供者 "SQLNCLI" 指定無效的結構描述或目錄
更改了server test 中的某一個table schema
因為資料量很大,所以通常都是先create 新table後,再用匯入匯出精靈將資料轉到新table, 轉換完畢後再將舊的table drop , 然後rename 新table.
以前都直接在Enterprise Manager上做reanme的動作, 但這次改用sp_reanme來更名.
結果今天查詢linkd db時, select count(*) from test.mydb.dbo.old_table
出現了以下的錯誤
sp_tables_ex 執行時, 如果出現
伺服器 'MOJSS' 並未設定給 DATA ACCESS
請執行 exec sp_serveroption 'your server name','data access',true
因為資料量很大,所以通常都是先create 新table後,再用匯入匯出精靈將資料轉到新table, 轉換完畢後再將舊的table drop , 然後rename 新table.
以前都直接在Enterprise Manager上做reanme的動作, 但這次改用sp_reanme來更名.
sp_rename 'new_table', 'old_table '
結果今天查詢linkd db時, select count(*) from test.mydb.dbo.old_table
出現了以下的錯誤
已經為連結伺服器 "test" 的提供者 "SQLNCLI" 指定無效的結構描述或目錄。
參考 NSDN這篇文章,
How to set up and troubleshoot a linked server to an Oracle database in SQL Server
里頭提到, 要嗎沒有permission,要嗎就是table name 不存在......
利用 sp_tables_ex @table_server=test, @table_name='old_table'
來查看linkdb中的table是否存在, 結果竟然沒有半筆資料......可是table 明明都在啊
直接用select * from openquery (test, 'select count(*) from old_tab') 來查詢,卻又有筆數..
與select count(*) from test.mydb.dbo.old_table 比較
以結果筆數來說,這二個語法不應該是相同的嗎? 真是沒道理啊....
再來, select * from sysobjects where name like '%old_table%'
table也是存在的. select 其他table都OK, 唯獨這個table都查不到....WHY????
回頭檢查了一那天跑的sql syntax...
原來 sp_rename 'new_table', 'old_table ' , 'old_table ' 後面多了一個空白,
這個空白,讓linkdb 不認得了....
sp_tables_ex 執行時, 如果出現
伺服器 'MOJSS' 並未設定給 DATA ACCESS
請執行 exec sp_serveroption 'your server name','data access',true
CInt vs Int
完成參考 Microsoft® Visual Basic® Scripting Edition
其中附註說明
附註 CInt 函數與 Fix 及 Int 函數不同,Fix 和 Int 函數會將小數部分去除,然後傳回整數值。當小數部分恰好為 0.5 時, CInt 函數會將它轉換成最接近的偶數值。例如,0.5 轉換成 0,而 1.5 轉換成 2。
其中附註說明
附註 CInt 函數與 Fix 及 Int 函數不同,Fix 和 Int 函數會將小數部分去除,然後傳回整數值。當小數部分恰好為 0.5 時, CInt 函數會將它轉換成最接近的偶數值。例如,0.5 轉換成 0,而 1.5 轉換成 2。
2010年10月6日 星期三
SQL Server Job查看
--查看job SELECT job_id, [name] FROM msdb.dbo.sysjobs
--查看job step
SELECT job.job_id,notify_level_email ,name,
enabled,description ,step_name,command,SERVER,database_name
FROM msdb.dbo.sysjobs job JOIN msdb.dbo.sysjobsteps steps
ON job.job_id = steps.job_id
--查看job history 歷程1, 最多1000筆(可在agent設size)
SELECT j.job_id, j.name, h.run_duration,h.step_id FROM sysjobs j
INNER JOIN sysjobhistory h ON h.job_id=j.job_id
INNER JOIN (
SELECT job_id, MAX(STR(run_date,8)+STR(run_time,8)) AS LastRunDate
FROM sysjobhistory GROUP BY job_id
) x ON j.job_id=x.job_id
WHERE h.step_id=0
AND STR(h.run_date,8)+STR(h.run_time,8)=x.LastRunDate
--查看job history 歷程2
SELECT run_date, run_time FROM sysjobhistory a INNER JOIN sysjobs b
ON a.job_id = b.job_id
WHERE name LIKE 'OLAP%'
--查看job sysjobschedules
SELECT b.name,active_start_date,active_start_time,active_end_date,active_end_time
FROM sysjobschedules a INNER JOIN sysjobs b
ON a.job_id = b.job_id
WHERE b.name LIKE 'OLAP%'
訂閱:
文章 (Atom)
自動記錄滑鼠點選操作
為了一個需求,需要人工去點選幾個滑鼠的點選行為,找了幾種工具,覺得GS Auto Clicker最實用,極符合我的需求,尤其是多個固定位置的button點擊,解決了一個很耗時間的工作。 最後設定完預設hotkey F8為啟用鍵,就可以開始自動做工了。再按F8結束工作。 GS Au...
-
上網找了免費的白箱檢測工具,找到了 puma scan 因為支援OWASP TOP 10的檢測,所以這是一個符合客戶需求又能與Visual studio結合的工具(白話說...交差了事矣....) 更重要的是這不用錢....檢測工具都貴森森的,尤其是源碼檢測工具。 ht...
-
建了一個工作排程,定時執行batch檔。 batch中寫了一段xcopy,主要針對有異動較新檔案時才複製。 echo off for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find...
-
改用SQL Server Management Studio 2017有一段時間了。 在執行一段之前寫的SQL要組出一段語法時,里頭包含了使用CHAR(10)當作換行符號的文字,在輸出結果中,使用複製貼上的方式要進行執行時,發現換行符號都失效了。 但如果使用Results...