有一台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)
publish error allowDefinition='MachineToApplication'
一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...
-
上網找了免費的白箱檢測工具,找到了 puma scan 因為支援OWASP TOP 10的檢測,所以這是一個符合客戶需求又能與Visual studio結合的工具(白話說...交差了事矣....) 更重要的是這不用錢....檢測工具都貴森森的,尤其是源碼檢測工具。 ht...
-
在一台windows 2016的主機上,某一天,用遠端登入後,出現了以下的訊息.... 遠端工作階段中斷,因為沒有提供授權的遠端桌面授權伺服器可以使用。請連伺服器系統管理員。 這啥啊........... 想不到,在MOBILE01找到了解決...........哈哈...
-
SQL Server 2005 後,提供EXCEP 和INTERSECT, 功能和ORACLE的MINUS, INTERSECT相同 EXCEP 找出存在於第一個子集,但不存在於第二個子集的筆數 INTERSECT 找出皆存在於二個子集中的筆數 這二個方法很方便查找有多...