一個老的Sybase SQL Anywhere數據庫 db 文件忘記DBA密碼,登陸時總是提示: invalid user id or password, 怎麼都不能打開,google狂搜,得到一個替換密碼的解決方案:
使用UltraEdit、WinHex等二進制編輯工具打開數據庫文件,通過查找“DBA”(16進制使用“44 42 41”),定位到底一個位置,注意觀察這個區域,前面一般有“dbo”、“PUBLIC”,後面有“SYS”。這個區域就是ASA保存用戶口令的數據段。把“SYS”之前四個空字符 “00 00 00 00”之前到“44 42 21”之間的所有16進制數據,替換為如下16進制數(代表SQL):
- B DF 7D B5 77 B2
- 67 6D C2 DB D6 E7 F2 64 28 C3 55 22 97 F5
- C F5 8C 0F 8C C5 71 BA 15 C9 5E BC 43 01 59 01
- 59 01 4E 01 4E 01 4E 17 00 00
替換後,DBA密碼就是“SQL”了。重新運行輸入密碼,可以正常打開庫使用