2010年10月30日 星期六

Pencil Project

無意中看到這個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月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.

.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上的比較說明

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查詢時,出現以下錯誤

無法為連結伺服器 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 指令

osql -U sa -P yourPWD -S ss2000 -i "C:\Program Files\Microsoft SQL Server\MSSQL\Install\instcat.sql"

執行完成後, 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.

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嗎?

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.....仍是法客

VS2008無法進入debug 模式

前幾天,想要debug一下某個vs2008的專案檔.
按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>

    <smtp deliverymethod="SpecifiedPickupDirectory">

    <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來更名.

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。

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%'

publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...