2014年11月29日 星期六

去日本必裝APP

去日本必裝APP
NTT的無線上網APP. 註冊可用90天沒用會被回收帳號

https://play.google.com/store/apps/details?id=com.nttbp.jfw

NAVITIME for Japan Travel
https://play.google.com/store/apps/details?id=com.navitime.inbound.walk&referrer=utm_source%3Dfrom_ntt%26utm_medium%3Dpc

Free Wifi
http://flets.com/freewifi/tw/spot.html


地鐵轉乘APP
https://play.google.com/store/apps/details?id=jp.co.jorudan.NrKjGree

2014年11月8日 星期六

linux mount USB DISK (NTFS)

0.安裝 NTFS : sudo apt-get install ntfs-3g
1.查看所有 DEVICE 的狀況: fidks -l
2.查看所有 mount 資料: df -aTh
3.解除原本系統自動MOUNT 上來的東西
  umount /media/AABBCCDDEE
4.重新mount 自己要的東西.
mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/usbhdd
5.去 nano /etc/fstab
增加一行
/dev/sda1       /media/usbhdd   ntfs-3g  uid=pi,gid=pi     0       0


注解:
-t vfat' tells the mount command that your drive has a fat32 file system. If your drive is formatted with NTFS, you should use '-t ntfs-3g' instead. The '-o uid=pi,gid=pi' part of the command means that the disk will be owned by user pi. You can use this command to unmount the disk:

2014年11月7日 星期五

重設 owncloud 密碼

OwnCloud 密碼忘了..
1先找出 owncloud.db 的存方地.
sudo find / -name "owncloud.db"
/var/www/owncloud/data/owncloud.db
2.先產生一組新的密碼
echo -n "1234567" | sha1sum
201231asdfafwerq913132412341412341  <=等下要UPDATE 密碼用的

3.進到1 的目錄中
cd /var/www/owncloud/data
4.進sqlite
sqlite3 owncloud.db
5. 先看看 owncloud 中 oc_users table 欄位的名稱
pragma table_info(people);
回傳
uid|varchar(64)||||
displayname|varchar(64)||
password|varchar(255)|||

6. Update使用者密碼.
update oc_users set password='201231asdfafwerq913132412341412341' where uid='user id'
OK

2014年10月28日 星期二

AquaData Studio ORACLE OCI 8.1i

AquaData Studio 中如果要去使用 OCI 方式去連ORACLE 8I DB時他會出現.一些錯誤.
說目前 ADS 是使用 10 版的如要 請自己修改ORACLE 版本.
以下網址供參考.

https://www.aquaclusters.com/app/home/project/public/aquadatastudio/wikibook/Documentation12/page/Oracle-JDBC-Drivers/Oracle-JDBC-Drivers#oracle_jdbc_driver_location_8i

STEP1: 刪除 ADS 原本的ORACLE DRIVER. 我沒作.我用的是舊版的.
STEP2: 由 C:\oracle\ora81\jdbc\lib  COPY 
nls_charset12.zip classes12.zip到
 C:\Program Files\Aqua Data Studio 7.5 - 32bit\lib\drivers 目錄下.
並修改副檔名 .ZIP to .jar
STEP 3: 進ADS ->HELP-> about -> JDBC Driver 可看到 ..oracle.jdbc.driver.OracleDriver =1.0
OK


2014年7月21日 星期一

使用ORACLE 10I 以上,來解 BOM 表與求需求量

TIPTOP ERP ORACLE BOM QTY

/*正解*/

select bmb01, bmb03, level, bmb06,
    LTRIM(sys_connect_by_path(bmb01, '->'), '->') fpath,
    LTRIM(sys_connect_by_path(bmb06, '->'), '->') ausage,
    str_mult(sys_connect_by_path(bmb06, '*')) quate
 from bmb_file
start with bmb01 like '01DS102200G%'
connect by prior bmb03=bmb01

/*或是使用 olap 內建的FUNCTION, 因為我的環境沒安裝這東西所以無法使用*/
select bmb01, bmb03, level, bmb06,
    LTRIM(sys_connect_by_path(bmb01, '->'), '->') fpath,
    LTRIM(sys_connect_by_path(bmb06, '->'), '->') ausage,
    dbms_aw.eval_number(ltrim(sys_connect_by_path(bmb06, '*'), '*')) quate
 from bmb_file
start with bmb01 like '01DS102200G%'
connect by prior bmb03=bmb01



CREATE OR REPLACE FUNCTION GWH.str_mult(p_str IN VARCHAR2) RETURN NUMBER
AS
    l_str VARCHAR2(1000):=p_str||'*';
    l_n   NUMBER;
    l_data NUMBER:=1;
BEGIN
    IF instr(l_str,'*')=1 THEN
       l_str:=SUBSTR(l_str,2);
    END IF;
    LOOP
          l_n:=instr(l_str,'*');
        EXIT WHEN (NVL(l_n,0)=0);
        l_data:=l_data*TO_NUMBER(SUBSTR(l_str,1,l_n-1));
        l_str:=SUBSTR(l_str,l_n+1);
    END LOOP;
    RETURN l_data;
END;

2014年5月27日 星期二

informix table lock

select unique
 dbsname db,
 tabname ,
--zt02,
 case
 when type="S" then "shared lock"
 when type="IS" then "intent shared lock"
 when type="SIX" then "shared intent excl lock"
 when type="XS" then "shared key value by RR"
 when type="IX" then "intent excl lock"
 when type="X" then "exclusive lock"
 when type="XR" then "excl key value by RR"
 when type="U" then "update lock"
 when type="B" then "byte lock"
 else
 "unknown lock type"
 end lock_type,
 lpad(owner,5) ses_id,
 lpad(waiter,5) wait_id
 from sysmaster:syslocks
--  left outer join ds:zt_file on zt01=tabname
 where tabname != 'sysdatabases'

找出 wait_id 有值的.代表他在等某一個東西 release.

nstat -g ses | grep  88999  (note ses_id)
find session id to query processs id  再去KILL 他.




2014年5月6日 星期二

informix table extent 相關

Informix DB:
create table 時 informix 會先allocate 一個空間給這個TABLE 使用. 如果空間不夠時. informix 會再allocate 一個空間來使用.如果這二個空間剛好都是連在一起,在Informix 中我們叫他為一個 extent,資料庫長時間使用下有可能使得TABLE的EXTENT 值變大.大過一定值(200以上?) 會出現錯誤.這時我們就要重新規劃了.

先用以下命令去找.所有資料庫table extent與他的SIZE

select
     dbsname,
     tabname,partnum,
     count(*) num_of_extents,
     sum(pe_size) total_size
from
     systabnames, sysptnext
where
       partnum = pe_partnum
  and  partnum  > 99
  and  dbsname <> "sysmaster"
  and  dbsname <> "sysutils"
  and  tabname <> "TBLSpace"
group by 1,2,3
order by 1,5 desc ;

我查出我的MYTABLE001 他空用有201個EXTENT 共 771400 KB ,
這時我要先建一個TABLE 內容與原TABLE 名稱多加個_TEMP 並同時給他初始大小與增大大小(KB)

CREATE TABLE tiptop.mytable001_temp (
    imk01  CHAR(20),
    imk02  CHAR(10),
    imk03  CHAR(10),
    imk09  DECIMAL(15,3)
    )
EXTENT SIZE 921600 NEXT SIZE 61440
LOCK MODE PAGE

之後再把資料insert 到Temp table
insert into mytable001_temp select * from mytable001
再把原TABLE DROP, 再把temp table rename 到原table
drop table mytable001
RENAME TABLE mytable001_temp  TO mytable001
經過這次的轉換後.沒問題了.
注意.要先把原來的 trigger, index 相關語法備份下來喔

2014年4月29日 星期二

2014年1月7日 星期二

DD-WRT 用Telnet 進去 清空所有設定.

參考:
http://www.dd-wrt.com/wiki/index.php/Factory_Defaults#From_the_Command_Line_.28Telnet_or_SSH_or_Web_GUI.29
因為restore 錯的設定所以WEB 起不來.只好回復成最初值.
用telnet 登入 ddwrt

mtd erase nvram;
reboot

之後就可以用 root/admin 來登入系統了.

2014年1月3日 星期五

aspnet membership 忘記密碼.

這方式只能選用一個已知的密碼 用他的密碼來改寫到別的使用者上

假如我知到 webadmin 這個密碼為 XXXXX 我可以以下的語法來得知密碼的相關值.

SELECT password, passwordformat, passwordsalt
FROM aspnet_membership am
INNER JOIN aspnet_users au ON (au.userid = am.userid)
INNER JOIN aspnet_applications aa ON (au.applicationId = aa.applicationid)WHERE au.username = 'webadmin'
AND aa.applicationname = '/'



h9GkIbUU2XOA+uDdHFJqBFmz6Qs=    1    nRbbbGybfWjhcG3iseVRrQ==



依以上的值再執行storeprocedure 來對其他使用者修改密碼.

DECLARE @changeDate datetime
SET @changeDate = getdate()

EXEC aspnet_Membership_setPassword '/',
'webuser001',
'h9GkIbUU2XOA+uDdHFJqBFmz6Qs=',
'nRbbbGybfWjhcG3iseVRrQ==',
@changeDate,
1

改完後. webuser001 就可以用 xxxx (原webadmin)的密碼來登入了.