發表文章

🖥️遠端桌面連線完整新手指南:Windows RDP、Chrome Remote Desktop、AnyDesk、TeamViewer 一次搞懂

目錄 什麼是遠端桌面?我為什麼需要? 方法一:Windows 10/11 內建遠端桌面(RDP) 方法二:Chrome Remote Desktop(免固定 IP) 方法三:AnyDesk / TeamViewer(跨平台、穿透 NAT) 安全性最佳實務 常見問題與故障排除(速查) 工具比較表 選擇流程圖(工程師的懶人決策) 出門前最後檢查清單 FAQ 常見問答 什麼是遠端桌面?我為什麼需要? 「遠端桌面連線」讓你在 A 電腦上,直接操作 B 電腦的桌面與程式,就像坐在 B 電腦前一樣。 常見情境:出差連回公司電腦、在家存取辦公室檔案、協助同事排錯、或在手機/平板臨時控管主機。 方法一:Windows 10/11 內建遠端桌面(RDP) 前置條件 被連線的電腦版本需為 Windows 10/11 專業版或企業版。 兩台電腦彼此能網路互通(同網段、VPN、或正確路由)。 被連線端設定(只需做一次) 打開: 設定 → 系統 → 遠端桌面 → 啟用。 記下「此電腦名稱」或 IP。 確保 Windows 防火牆允許「遠端桌面」。 連線端操作 按 Win + R → 輸入 mstsc → Enter。 在「電腦」欄位輸入對方電腦名稱或 IP → 連線 → 輸入該電腦的帳號密碼。 跨外網的正確姿勢 首選 VPN :先連公司/家裡的 VPN,再用 RDP,安全又穩。 不建議直接把 3389 埠對外曝光;若不得已,請做好強密碼、改連接埠、IP 白名單與入侵偵測。 方法二:Chrome Remote Desktop(免固定 IP) 優點是跨平台、穿透 NAT、用 Google 帳號配對,對新手友善。 在被連線與連線端都安裝 Chrome 與 Chrome Remote Desktop 擴充。 以同一 Google 帳號登入,為「被連線」電腦設定 PIN。...

🔎【解決教學】PowerShell 無法連線 Oracle Port 1521?TCP connect failed 的原因與解法全解析

  🧩 錯誤背景:PowerShell 測試 Oracle 1521 Port 連線失敗 在 PowerShell 輸入以下指令測試 Oracle 資料庫的 TCP 連線: Test-NetConnection 220.133.47.3 -Port 1521 結果顯示: TcpTestSucceeded : False 但: PingSucceeded : True 也就是說, 你可以 ping 到這台伺服器,但 TCP Port 1521 無法連上 ,導致連線 Oracle 資料庫失敗。 ✅ 常見原因解析與解決對策 1️⃣ 資料庫伺服器防火牆阻擋了 TCP 1521 Oracle 使用的預設連接埠為 1521 ,若伺服器防火牆未開放此埠口,會導致無法從遠端連線。 ✅ 解法: 請在 Oracle 伺服器上開放防火牆: Windows 防火牆: netsh advfirewall firewall add rule name= "Oracle 1521" dir = in action=allow protocol=TCP localport=1521 Linux 防火牆 (iptables): sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT 2️⃣ Oracle Listener 未啟動或未監聽正確的 IP Oracle 的 Listener 是用來接收連線的背景程式。若未啟動或綁定錯誤 IP,也會導致連線失敗。 ✅ 解法: 登入 Oracle 主機後,執行: lsnrctl status 確認輸出中有 1521 且 LISTENING 狀態。 若沒啟動,使用: lsnrctl start 並檢查 listener.ora 設定中 HOST 是否為: 正確的對外 IP(如 220.133.47.3 ) 或使用 HOST = 0.0.0.0 允許所有 IP 連入 ...

🔍Windows 伺服器「連不上網路」怎麼辦?—軟體工程師寫給非工程背景的超實用排查指南

  概要 當 Windows 伺服器「上不了網」時,原因大致分三類: 線路/設備 :網線、交換器 Port、VLAN 等硬體或網路側設定 網路設定 :IP、閘道(Default Gateway)、DNS、路由表、防火牆 Windows 自身 :網卡驅動、服務停止、協定堆疊損壞、殘留 Proxy、過緊的防護軟體 下面提供一個 5–10 分鐘快速檢查流程 ,能幫你判斷是不是 Windows 本身造成的,或該往網管/機房方向查。 快速檢查(5–10 分鐘就能初步定位) 1) 先看「有沒有接上線」 交換器與伺服器網卡燈號是否亮? 在伺服器上開 PowerShell (系統管理員)輸入: Get-NetAdapter | ft Name,Status,LinkSpeed,MacAddress -a Status=Disconnected/Disabled → 多半不是 Windows 任性,是 線材/Port/VLAN/Teaming 問題。 2) 檢查是否拿到正常 IP Get-NetIPConfiguration # 或 CMD: ipconfig /all 看到 169.254.x.x (APIPA 自動位址)→ DHCP/交換器/VLAN 方向優先查。 有 IP / Default Gateway / DNS → 進下一步。 3) 基礎連通性(先測內,再測外) Ping 閘道: ping <你的 Default Gateway> Trace 到外網 IP: Test-NetConnection 8.8.8.8 -TraceRoute 判讀 : 閘道都不通 → 多半是 本機防火牆、網...

🌐Vue 3 表格「表頭固定 + 左欄固定」完整實戰:兩列表頭(rowspan)蓋不住?用 CSS 變數、position: sticky、z-index 一次搞定!

  內容 這篇是給「對 CSS 不熟,但需要把表格頭固定」的人看的超清楚指南。 你會學到如何在 Vue 3 中打造「 多列表頭(兩列) + 左邊固定欄位 + 水平捲動 」的表格,並解決最常見的兩個痛點: 第二列表頭把第一列擋住、或蓋不齊。 左側固定欄(如 SEQ_NO )在跨兩列表頭時 高度不夠、蓋不住 導致漏縫。 問題長什麼樣? 表格表頭有兩列(第一列是大群組、第二列是子欄位)。 表頭與左側第一欄要固定( position: sticky )。 捲動時會發生: 第二列表頭的 top 沒算好,導致 重疊 或 露出縫隙 。 左側固定欄(常見是 SEQ_NO )設了 rowspan="2" ,但 高度只吃到第一列 ,沒有蓋到第二列。 這些問題幾乎都源自 高度( height / top )與層級( z-index ) 沒設定好。 解法核心觀念(先理解,後面照貼就成功) 兩列表頭要分別 sticky: 第一列: top: 0 第二列: top: <第一列的高度> 左側固定欄位(跨兩列)要有「兩列加總的高度」 才能把兩列表頭「一次蓋住」。 層級順序( z-index ) 不能打架: ...

🌐Vue 3 表格排序與合併儲存格完整解析:為什麼要先依 APS_PLAN_NO + TFT4 排序?

  前言 在企業的生產排程系統(APS, Advanced Planning and Scheduling)中,常見的需求是 表格顯示 與 Excel 匯出 。 這些表格通常會有「合併儲存格」、「群組加總」、「排序」等功能。 但是,如果排序處理得不正確,就會導致數據顯示錯誤,甚至影響 Excel 匯出。今天我們要用 Vue 3 的範例,來解釋為什麼需要在 合併儲存格之前先做排序 ,以及如何正確排序才能保證結果正確。 問題背景 原本程式碼中的排序邏輯如下: rows. sort ( ( a, b ) => { const planCmp = String (a. APS_PLAN_NO ). localeCompare ( String (b. APS_PLAN_NO )) if (planCmp !== 0 ) return planCmp return String (a. SEQ_NO ). localeCompare ( String (b. SEQ_NO )) }) 這段邏輯的問題是: 只依 APS_PLAN_NO → SEQ_NO 排序 ,沒有處理到 TFT4 。 如果同一個 APS_PLAN_NO 下的 TFT4 不連續,會導致群組加總(特別是 TFT5 )錯誤。 localeCompare 只做字典排序,例如 "A10" 會排在 "A2" 前,對數字不友好。 改良後的排序邏輯 我們的需求是: 先依 APS_PLAN_NO 排序。 在同一計劃下,依 TFT4 群組排序(空值放最後)。 如果 TFT4 一樣,再依 SEQ_NO 做 Tie-breaker。 修改後的程式碼如下: rows. sort ( ( a, b ) => { ...

🔎SQL Server 無法連線?完整解決「Connection timed out」教學

SQL Server 無法連線?完整解決「Connection timed out」教學 在使用 TIBCO、Spotfire 或其他工具連接 SQL Server 時,很多人會遇到以下錯誤: Could not establish contact with the database: [tibcosoftwareinc][SQLServer JDBC Driver] Error establishing socket to host and port: 220.133.47.3:1433. Reason: Connection timed out: connect 這段訊息其實代表 資料庫連線逾時 ,意思是:電腦試著打開一個「通道」連到 SQL Server,但等不到回應,就像打電話卻沒人接聽。下面我會用「軟體工程師」的角度,帶你一步步找出問題。 為什麼會出現 Connection timed out? 最常見的原因有: SQL Server 沒有啟用 TCP/IP 連線 資料庫沒有在 1433 埠 上監聽 防火牆阻擋了 SQL 連線 網路路由或 ISP 攔截封包 資料庫在內網,外部沒有設定 Port Forward 使用命名實例但連線字串錯誤 如何逐步檢查? 1. 測試本機是否能連上伺服器 在 Windows PowerShell 輸入: Test-NetConnection 220.133.47.3 -Port 1433 如果顯示 TcpTestSucceeded : True → 網路可達,問題可能在資料庫設定。 如果顯示 False → 網路被擋或伺服器沒有開放。 2. 檢查 SQL Server 設定 打開 SQL Server Configuration Manager 確認 TCP/IP 協定有啟用 檢查 IPAll → TCP Port 是否為 1433 在伺服器命令列輸入: netstat -ano | findstr :1433 確認有顯示 LISTENING 3. 防火牆與安全性設定 Windows 防火牆 → 建立「入站規則」,允許 TCP 1433...

🔎TIBCO Spotfire 連線資料庫錯誤排查:ORA-12505 與 No more data available to read 全面解析

  前言 在安裝與設定 TIBCO Spotfire Server 時,我們必須先正確連線到後端的 Repository 資料庫(通常是 Oracle 或 SQL Server)。但在實務中,許多人會遇到兩大常見錯誤: ORA-12505: Connection refused, the specified SID was not recognized by the Oracle server No more data available to read 這篇文章將以軟體工程師的角度,詳細解析這兩種錯誤發生的原因與解決方法,並且教你如何正確設定 Spotfire 與資料庫的連線參數。 常見錯誤 1:ORA-12505 錯誤訊息: ORA -12505 : Connection refused, the specified SID (spotfire) was not recognized by the Oracle server 原因解析: 你的 JDBC 連線字串中指定的 SID (例:spotfire)在 Oracle 伺服器中不存在 可能是搞混了 SID 與 Service Name Oracle Listener 沒有註冊該 SID / Service Name 連線到的 IP 與 Port 對應的不是該資料庫實例 排查方法: 在 Oracle 主機上執行: lsnrctl status 查看目前 listener 註冊的 SID 與 Service Name 用 sqlplus 測試連線: sqlplus username@//220.133.47.3:1521/ServiceName 如果 Service ...