Install ODBC in ubuntu 22.04.1

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

การติดตั้ง 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! เป็นอันใช้ได้ ลองคิวรี่ดูครับ


1
188