Install ODBC in ubuntu 22.04.1

Install ODBC in ubuntu22.04.1 ใช้งานสำหรับ php extension มีโปรเจค ที่ผมต้องทำ as400 socket sim เพื่อทดสอบ ต้องใช้การเชื่อมต่อ php มาที่ sql server พยามลองหลายวิธี สรุปมาจบที่ท่านี้ ลองไปใช้กัน...

2023-08-22 14:17:05 - @ratanon

การติดตั้ง ODBC สำหรับ SQL Server บน Ubuntu

1.ปรับปรุงรายการแพ็คเกจ

ปรับปรุงรายการแพ็คเกจของระบบ:

sudo apt-get update 

ถ้ามี error ลองเริ่มจากขั้นตอนที่ 2


2.แก้ไขปัญหากุญแจ (Key) ของ Repository

คัดลอกและสร้างไฟล์ของ trusted.gpg และอัปเดตแพ็คเกจอีกครั้ง:

cd /etc/apt 
sudo cp trusted.gpg trusted.gpg.d 
sudo apt-get update 


3.แก้ปัญหาที่เกี่ยวข้องกับ dpkg

การตั้งค่าและแก้ไขปัญหาการติดตั้งที่มีปัญหา:

sudo dpkg --configure --force-overwrite -a 
sudo apt -o Dpkg::Options::="--force-overwrite" --fix-broken install 


4.ติดตั้งแพ็คเกจที่เกี่ยวข้อง

ติดตั้ง libodbc2 และ unixodbc ซึ่งเป็น dependencies สำหรับการเชื่อมต่อ SQL Server:

sudo apt install libodbc2 
sudo apt install unixodbc 


5.เพิ่ม Repository สำหรับ Microsoft SQL Server ODBC Driver

เพิ่ม key และ repository ของ Microsoft:

sudo su 
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - 
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list exit 
sudo apt-get update 
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17 


6.การตั้งค่า Driver ใน odbcinst.ini

ใส่รายละเอียดของ driver ที่คุณต้องการใช้งาน:

sudo nano /etc/odbcinst.ini 

แล้วเพิ่มข้อมูล:

[ODBC Driver 17 for SQL Server]                                                                                      
Description=Microsoft ODBC Driver 17 for SQL Server                                                                  
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.4.1  


7.การตั้งสิทธิ์ของไฟล์ Driver

ตรวจสอบและให้สิทธิ์การเข้าถึงกับ driver:

ls -l /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.4.1 sudo chmod +x /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.4.1 


8.ทดสอบการเชื่อมต่อกับฐานข้อมูลโดยใช้ PHP

ใช้ code PHP เพื่อเชื่อมต่อกับ SQL Server ดังนี้:

$connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=[IP],1433;Database=db_socket;";
$conn = odbc_connect($connection_string, "sa", "password");
if ($conn) {
    echo "Connected successfully!";
} else {
    die("Connection failed: " . odbc_errormsg());
}
?>


ถ้าขึ้น Connected successfully! เป็นอันใช้ได้ ลองคิวรี่ดูครับ


More Posts