有一台ASUS桌機,歷史優久2003年安裝WINDOWS 2003後使用到現在.
現在想來,這台是當初用來做SQL 2000 第一個BI的案子的, 後來好像都沒有重裝過OS耶,
前幾年他一直靜靜的躺在一旁, 這二年,我把他擦乾淨後,加了2G的RAM後,平常上班時間,就這樣開著.
今天一來把他開起來後, 一直停在Checking NVRAM 的畫面
重開了好幾次也是如此.
後來想說先進去BIOS看一下設定. 結果進入BIOS後再重開,
咦....就自動好了. 真是奇怪
2012年9月26日 星期三
2012年9月18日 星期二
Informix 重設Serial 欄位值
在SQL Server 是下 DBCC CHECKIDENT (youTableName, reseed, 1);
在Informix 找到幾種方法可以做
1.drop table and recreate (廢話)
2.insert into yourTable(SerialCol) values(2147483647);
truncate table yourTable;
3.alter table yourTable modify(SerialCol integer);
truncate table yourTable;
alter table yourTable modify(SerialCol serial);
在Informix 找到幾種方法可以做
1.drop table and recreate (廢話)
2.insert into yourTable(SerialCol) values(2147483647);
truncate table yourTable;
3.alter table yourTable modify(SerialCol integer);
truncate table yourTable;
alter table yourTable modify(SerialCol serial);
2012年9月14日 星期五
informix DBINFO function
--取得主機名稱
SELECT FIRST 1 DBINFO('dbhostname') FROM systables;
--取得informix db 版本 (IBM Informix Dynamic Server Version 11.50.UC7)
SELECT FIRST 1 DBINFO('version','full') FROM systables;
---取得時間, 很特別的是, 前者會取得目前真正的時日
--但CURRENT在同一個stored procedure中,不論使用幾次,都是一樣的
--所以為了log方便,應採用前者
SELECT DBINFO('utc_to_datetime', sh_curtime) , CURRENT FROM sysmaster:sysshmvals;
--取得Serial 欄位流水號,必需緊接在insert into sql後使用
insert into table values (1,2,3);
SELECT FIRST 1 DBINFO('sqlca.sqlerrd1') from systables;
--取得呼叫此方法前最後sql的影響筆數
SELECT FIRST 1 DBINFO('sqlca.sqlerrd2') from systables ;
SELECT FIRST 1 DBINFO('dbhostname') FROM systables;
--取得informix db 版本 (IBM Informix Dynamic Server Version 11.50.UC7)
SELECT FIRST 1 DBINFO('version','full') FROM systables;
---取得時間, 很特別的是, 前者會取得目前真正的時日
--但CURRENT在同一個stored procedure中,不論使用幾次,都是一樣的
--所以為了log方便,應採用前者
SELECT DBINFO('utc_to_datetime', sh_curtime) , CURRENT FROM sysmaster:sysshmvals;
--取得Serial 欄位流水號,必需緊接在insert into sql後使用
insert into table values (1,2,3);
SELECT FIRST 1 DBINFO('sqlca.sqlerrd1') from systables;
--取得呼叫此方法前最後sql的影響筆數
SELECT FIRST 1 DBINFO('sqlca.sqlerrd2') from systables ;
2012年9月13日 星期四
informix 序號欄位取值
.net 中,如何取得informix table 新增後serial column 的流水號,然後再傳給另一個table進行使用
--建立測試表
create table bevtest
( col1 serial,
col2 varchar(50)
);
begin work;
insert into bevtest values(0,'test');
--此行需緊接著insert into table 後執行
select dbinfo('sqlca.sqlerrd1') as sn from empty into temp tmpsn with no log;
insert into bevtest select 0,sn||' this is sn" from tmpsn;
drop table tmpsn;
commit work;
--建立測試表
create table bevtest
( col1 serial,
col2 varchar(50)
);
begin work;
insert into bevtest values(0,'test');
--此行需緊接著insert into table 後執行
select dbinfo('sqlca.sqlerrd1') as sn from empty into temp tmpsn with no log;
insert into bevtest select 0,sn||' this is sn" from tmpsn;
drop table tmpsn;
commit work;
2012年9月11日 星期二
informix 時間 to_char
日期加時間格式
SELECT FIRST 1
TO_CHAR(CURRENT , '%Y/%m/%d %R:%S')
,TO_CHAR(CURRENT , '%Y/%m/%d %I:%M:%S %p')
FROM systables
回傳
2012/09/12 14:06:14 2012/09/12 02:06:14 下午
2012/09/27:
今天把寫好的SP拿到客戶的環境上執行
結果有個FUNCTION一直 出現 Invalid era, could not assign era date
怪怪,公司跑得好好的說.
查了半天之前用舊方法將國曆數字轉成西元日期,遇到客戶的環境沒有指定DBDATE格式,造成以下的寫法一直有問題
DEFINE p_date date
SELECT (((substr((in_date+19110000)::char(8),1,4))||'-'||
(substr((in_date+19110000)::char(8),5,2))||'-'||
(substr((in_date+19110000)::char(8),7,2)))::date)
INTO p_date FROM empty;
改成以下寫法就OK
SELECT (TO_DATE((in_date+19110000)::char(8),'%Y%m%d'))
INTO p_date FROM empty;
原來一直搞不懂為什麼INFORMIX中,有today 和current 二個方法
直到今天才知道, today的格式是跟隨著DBDATE的設定回傳日期及時間, current則是回傳固定格式的日期及時間
以下是客戶環境, DBDATE沒指定,所以預設應跟著DB_LOCALE=zh_TW.big5
以下是公司環境, DBDATE=Y4MD-
SELECT FIRST 1
TO_CHAR(CURRENT , '%Y/%m/%d %R:%S')
,TO_CHAR(CURRENT , '%Y/%m/%d %I:%M:%S %p')
FROM systables
回傳
2012/09/12 14:06:14 2012/09/12 02:06:14 下午
2012/09/27:
今天把寫好的SP拿到客戶的環境上執行
結果有個FUNCTION一直 出現 Invalid era, could not assign era date
怪怪,公司跑得好好的說.
查了半天之前用舊方法將國曆數字轉成西元日期,遇到客戶的環境沒有指定DBDATE格式,造成以下的寫法一直有問題
DEFINE p_date date
SELECT (((substr((in_date+19110000)::char(8),1,4))||'-'||
(substr((in_date+19110000)::char(8),5,2))||'-'||
(substr((in_date+19110000)::char(8),7,2)))::date)
INTO p_date FROM empty;
改成以下寫法就OK
SELECT (TO_DATE((in_date+19110000)::char(8),'%Y%m%d'))
INTO p_date FROM empty;
原來一直搞不懂為什麼INFORMIX中,有today 和current 二個方法
直到今天才知道, today的格式是跟隨著DBDATE的設定回傳日期及時間, current則是回傳固定格式的日期及時間
以下是客戶環境, DBDATE沒指定,所以預設應跟著DB_LOCALE=zh_TW.big5
today | current |
中華民國101年10月3日 星期三 | 2012-10-03 16:55:28.00 |
以下是公司環境, DBDATE=Y4MD-
today | current |
2012/10/03 | 2012-10-03 16:55:28.00 |
2012年9月9日 星期日
informix error 720
撰寫informix stored procedure 或function真是一件苦差事.
debug的環境只能利用set debug file 的方式.
在用慣windows UI的開發模式後, 在dbaccess terminal mode模式下開發,心中真的有很多無形的排斥感
720: The number of returned values and of SPL variables do not match.
建立stored procedure 沒有錯誤
執行階段,出了這個錯誤, 但也沒告知到底是哪行出的錯誤
原來是我select ... into ...眾多的欄位中,少了一個欄位與變數的mapping
找到我眼花.
debug的環境只能利用set debug file 的方式.
在用慣windows UI的開發模式後, 在dbaccess terminal mode模式下開發,心中真的有很多無形的排斥感
720: The number of returned values and of SPL variables do not match.
建立stored procedure 沒有錯誤
執行階段,出了這個錯誤, 但也沒告知到底是哪行出的錯誤
原來是我select ... into ...眾多的欄位中,少了一個欄位與變數的mapping
找到我眼花.
訂閱:
文章 (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...