發表文章

目前顯示的是 10月, 2023的文章

將地端原先在IIS跑的 .net6 mvc專案給deploy到ec2 linux Apache主機上

圖片
假設你已經完成上一篇介紹的諸多處理前置流程後 Linux上安裝SQL Server 將地端MSSQL資料庫移轉至aws ec2主機上的MSSQL 通常你應用程式中的appsettings.json一些資料庫連線配置 要注意需要微調 Server: 將 .\\SQLEXPRESS 更改為您的EC2實例的公共IP或DNS名稱。 Database: 如果您的資料庫名稱仍然是 BingoDb,則不需要更改。 Trusted_Connection: 由於您正在使用SQL Server身份驗證(User ID和Password),您可能需要從連接字符串中刪除 Trusted_Connection=True;。 TrustServerCertificate: 如果您的EC2 SQL Server使用的是自簽名證書,則保留此選項。如果不是,您可能想刪除它。 User ID 和 Password: 確保這些是您在EC2 SQL Server上設定的憑證。 "ConnectionStrings": {   "MyDbConn": "Server=YOUR_EC2_PUBLIC_IP_OR_DNS;Database=BingoDb;TrustServerCertificate=true;MultipleActiveResultSets=true;User ID=xxx;Password=YOUR_PASSWORD" } 請將 YOUR_EC2_PUBLIC_IP_OR_DNS 替換為您EC2實例的實際公共IP或DNS,並將 YOUR_PASSWORD 替換為實際的 xxx 密碼。 實際拿地端專案整合連線看看會發現出現錯誤 Microsoft.Data.SqlClient.SqlException: 'Login failed. The login is from an untrusted domain and cannot be used with Integrated authentication.' 可能原因在於從一個不同的域連接到SQL Server有關。當在本地開發時,集成身份驗證很好用,因為您的開發機器和SQL Server通常位於同一域或工作組中。 但是,當您將SQL Server移到遠程主機(如EC

將地端MSSQL資料庫移轉至aws ec2主機上的MSSQL

圖片
  WinSCP FTP 用存出來的ppk連線上去後就能準備將程式或資料庫檔案給部屬移轉上去 調整默認都切至sudo後的root權限 使用SQL Server Management Studio (SSMS) 或命令行工具,如 sqlcmd,對本地資料庫進行備份,從而創建一個 .bak 文件。 BACKUP DATABASE [YourDatabaseName] TO DISK = 'C:\path_to_backup\YourDatabaseName.bak'; 將備份文件傳輸到EC2: 在EC2的SQL Server上還原資料庫: 一旦 .bak 文件在EC2實例上,您可以使用SSMS或 sqlcmd 進行還原。 RESTORE DATABASE [YourDatabaseName] FROM DISK = '/path_on_ec2/YourDatabaseName.bak'; Msg 5133, Level 16, State 1, Server ip-172-31-33-44, Line 1 Directory lookup for the file "E:\IT_Db\BingoDb.mdf" failed with the operating system error 2(The system cannot find the file specified.). Msg 3156, Level 16, State 3, Server ip-172-31-33-44, Line 1 File 'BingoDb' cannot be restored to 'E:\IT_Db\BingoDb.mdf'. Use WITH MOVE to identify a valid location for the file. Msg 5133, Level 16, State 1, Server ip-172-31-33-44, Line 1 Directory lookup for the file "E:\IT_Db\BingoDb_log.ldf" failed with the operating system error 2(The system can

Linux上安裝SQL Server

圖片
  RAM至少要2G以上(建議用4G) 下載Microsoft SQL Server的存放庫設置: sudo su curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo 安裝SQL Server: yum install -y mssql-server 設置SQL Server: 安裝完成後,執行以下命令來完成SQL Server的設置: /opt/mssql/bin/mssql-conf setup 您會被提示選擇一個版本、設置SA密碼等。 啟動SQL Server: systemctl start mssql-server 設置開機啟動: 如果您希望每次開機時自動啟動SQL Server,可以執行以下命令: systemctl enable mssql-server 開啟防火牆端口: 如果您要從外部訪問此SQL Server實例,確保在EC2的安全組中開放1433端口。 配置EC2安全組: 打開您的EC2 Dashboard。 在左側導航窗格中,選擇“Security Groups”。 選擇與您的SQL Server EC2實例相關的安全組。 點擊“Edit inbound rules”。 添加一條新的規則: Type: SQL Server Protocol: TCP Port Range: 1433 Source: 您的IP地址或者您希望允許的IP地址範圍。如果您想要從任何地方連接,可以設置為 0.0.0.0/0,但這通常不推薦,因為它可能會帶來安全風險。 安裝sqlcmd工具 下載Microsoft的Red Hat存放庫設置文件: sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo 安裝mssql-tools: sudo yum install mssql-tools unixODBC-devel 將sqlcmd和bcp添加到PATH: echo 'export PATH="$PATH:/opt/mssql-tools/bin&quo

資料探勘研究與實務_層次、階層式聚類/分層分群(Hierarchical Clustering)筆記_兩種聚類過程及兩種計算聚類間距離的方法

圖片
Clustering 聚類 主要是探討某點群是要分2個聚類 還是4個 及如何劃分、劃分依據為何的過程。 分出來的聚類好壞評估十分主觀。   https://harshsharma1091996.medium.com/hierarchical-clustering-996745fe656b 在聚類/分群(Clustering)算法中其中一個叫做層次聚類(Hierarchical Clustering) 它藉由計算不同類別資料點之間的相似度來創建一棵有層次的嵌套聚類樹。 這個聚類樹中,不同類別的原始數據點位於數的最底層,樹的頂層則是一個聚類的樹根節點。 兩種聚類過程 層次聚類(Hierarchical Clustering) 有細分兩種聚類過程的策略分別是 1.自下而上合併(Agglomerative) 從將每個觀察值視為單獨的聚類開始,然後合併 最接近的聚類 ,直到只有一個聚類為止。 在此會去計算點間距愈短代表離愈近也就是互相具備高相似性。 相似度計算基本上就會採用歐式距離Euclidean distance(兩點直線間距)做計算 步驟: Step1.開始時,將每個數據點視為一個獨立的聚類,因此如果有 N 個數據點,就有 N 個聚類。 Step2.計算所有聚類間的距離。這通常使用歐幾里得距離,但也可以使用其他距離度量。 Step3.將距離最近的兩個聚類合併成一個新的聚類。 Step4.重新計算新的聚類與其他聚類之間的距離。 Step5.重複步驟3和4,直到所有數據點都被合併成一個聚類。 2.自上而下分裂(Divisive) 步驟: Step1.開始時,所有的數據點都在一個大的聚類中。 Step2.選擇一個最大的聚類進行分裂。 Step3.使用某種方法(例如K-means聚類)來分裂聚類。 Step4.重複步驟2和3,直到每個數據點都被分裂成獨立的聚類。 基本上我們大多數時候都是針對Agglomerative做探討 兩種計算聚類間距離的方法(事實上不只這兩種) 對於如何決定哪兩個群集應該合併或如何分裂群集,我們可以使用以下方法: (備註:另外還有其他方法Average Link , Ward...有空再補齊) Single Link (最小連接法) 兩個聚類之間的距離是基於它們之間 最近 的兩個數據點的距離,最大程度地減少了成對的群集之間的距離。常用於較大數據集的層次聚