java jdbc 連到 M$ access “ucanaccess”

年紀一大把了,還在搞Acess,慘

你可以存取的(u can access),到此下載

解開後,除了本體ucanaccess-xxx.jar外,在lib目錄下的jar檔也需要。

其中存取access的關鍵jackcess-xxx.jar (目前最新版4.0.6),可另外下載取代ucanaccess內建的3.0.1版本

JDBC Connection String

jdbc:ucanaccess://c:/xxx.mdb;memory=false

AlmaLinux 9 修改sshd port號碼

以前修改sshd port 號碼很簡單,因為我把selinux關掉了,現在年紀大了,心臟不好,不敢關閉selinux,只好乖乖照規定執行。

#修改port
vi /etc/ssh/sshd_config

#讓selinux放行
semanage port -a -t ssh_port_t -p tcp <port 號碼>

#firewall-cmd放行port號碼
firewall-cmd --add-port=<號碼>/tcp --permanent
firewall-cmd --reload

#然後重開機囉

Linux背景執行

以前我在Linux要背景執行程式,在最後面加上 「&」即可,後來發現這樣好像不正統,因此改用nohub以shell方式執行。

啟動(start.sh)

#!/bin/bash
nohup /usr/lib/jvm/jdk-17-oracle-x64/bin/java -jar api.jar &> /dev/null &

結束(stop.sh)

#!/bin/bash
ps -ef | grep "api.jar" | grep -v grep | sed 's/ [ ]*/:/g'|cut -d: -f2| kill -9 `cat`

nohub解釋如下(出處)

說明
nohup 指令會執行 Command 參數及任何相關 Arg 參數所指定的指令,忽略所有掛斷信號 (SIGHUP) 或修改使用 -p 選項指定的處理程序以忽略所有 SIGHUP 信號。 SIGHUP 是在處理程序的控制端關閉時傳送給處理程序的信號。

在登出之後,也可以使用 nohup 指令在背景中執行程式。 To run a nohup command in the background, add an & (ampersand) to the end of the command.

nextcloud帳號停用會發生什麼事情

所有分享的檔案與目錄,都會失效
  1. 若公司綁定M$ Active Directory(網域主控伺服器),只要停用主控站帳號即可,不會造成分享的檔案目錄失效,而nextcloud的帳號也不需停用

  2. 若沒有綁定網域主控伺服器,則需要移轉檔案所有權(files:transfer-ownership),然後再停用nextcloud的帳號。

    使用該帳號進行移轉



    使用指令方式移轉

https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/occ_command.html#file-operations

另外還可透過資料庫,查詢所有分享連結,以及其擁有者,語法如下

# 例如某個連結失效了 https://cloud.test.com/s/T8wnofnnZjHk93e
# 我們可以透過以下語法,找到哪個帳號停用了
select * from (
select uid_owner uid,ldap_dn name,token from oc_share,oc_ldap_user_mapping where uid_owner=owncloud_name
union
select uid_owner uid,displayname name,token from oc_share,oc_users where uid_owner=uid
) as NewUnionTable
where token='T8wnofnnZjHk93e'

強制”只”將特定分支push到git 伺服器上

我的git用戶端只要是push就會把阿貓阿狗分支都push上去,這樣無腦的方式有時候反而有點麻煩,尤其是有些分支不想push上去。

若只想要把本地端master push上去,其他分支都不用,就不能借助有UI的用戶端程式,只能靠指令了。

git push -f origin master

修改註冊表以停用切換中文輸入法(shift鍵)

話說我一度以為酪梨醬解決了切換中文輸入的問題,結果並沒有,真是掉漆。

後來我只能退而求其次,使用酪梨醬之前,先關掉左邊shift鍵來停用主機本體的中文切換,這樣就可以解決遠端連線切換問題;使用完畢後,再還原主機本體的左邊shift鍵。

這樣做法對我來說不是很難,但難的是”會忘記”切換回來,所以我也不用問麻瓜了,自己都不能接受這做法。

於是我再再退而求其次,找到透過「修改註冊表」的方式,來「停用/啟用」切換中文輸入法。

# dos 指令
# 0x00000001 (啟用)、0x00000002 (停用)
powershell -Command Set-ItemProperty -Path 'HKCU:\Software\Microsoft\IME\15.0\IMETC' -Name 'Left Shift Usage' -Value 0x00000002

這樣或許我就可以寫個簡單的windows程式,或是批次檔案,一旦執行,會先關閉左邊shift鍵切換中文功能,然後召換chrome瀏覽器帶出酪梨醬網址,使用完畢後,程式或是批次檔案會自動回原回原本的設定,這樣就不會再忘記切換回來了。

# dos 指令 (存成bat檔案)
powershell -Command Set-ItemProperty -Path 'HKCU:\Software\Microsoft\IME\15.0\IMETC' -Name 'Left Shift Usage' -Value 0x00000002


powershell -NoProfile -Command ^
Start-Process -passthru chrome.exe '酪梨醬網址' ; ^
while ((get-process -name chrome).count -ne 0){} 


powershell -Command Set-ItemProperty -Path 'HKCU:\Software\Microsoft\IME\15.0\IMETC' -Name 'Left Shift Usage' -Value 0x00000001

更改windows 10、11開機後顯示登入的帳號

一般來說個人用的Windows,本機帳號可以直接登入;若為公司網域帳號或個人m$的帳號,就必須經過認證(密碼,認證器)才能登入。而且windows會記住上次登入的帳號,重開機後,會直接顯示該帳號,我們只要輸入密碼,就能登入了。

但是麻瓜們總是會忘記自己登入的帳號,一旦有人用其他帳號登入,那麼下次開機,windows顯示的就不是原本麻瓜的帳號,這樣麻瓜會爆走,IT就挨踢了。

為了解決這個問題,我挖阿挖阿挖,在這裡找到解法,只要修改註冊值,重新開機就好了。

註冊表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI

註冊值

LastLoggedOnDisplayName  這我沒看到,沒設定好像也沒差
LastLoggedOnSAMUser  設定「網域\帳號」,如:SHORTDOMAIN\kafeiou
LastLoggedOnUser  設定「網域\帳號」,如:SHORTDOMAIN\kafeiou
LastLoggedOnUserSID 輸入該帳號的SID,如:S-1-5-21-112
SelectedUserSID  輸入該帳號的SID,如:S-1-5-21-112


其中SID取得方式:

wmic useraccount where name='登入帳號'

**臨時用其他帳號登入,又不想被人家發現,可以以照上述方法(需管理者權限),改回原本登入帳號。

列出docker images所有版本

我在試用openproject的時候,官方提供的docker指令只能看出容器大版本,很難看出細一點的數字(openproject/community:13),於是我找到一個程式,後面接容器名稱,就能列出所有的版本。

https://github.com/axil/docker-registry-list/tree/master

python3 -m pip install requests
wget https://github.com/axil/docker-registry-list/raw/master/docker-registry-list.py
chmod +x docker-registry-list.py
./docker-registry-list.py  <container image name>
1 2 3 4 ... 58