การติดตั้ง Ubuntu 16.04 LTS: วิธีการติดตั้ง ODBC


16

หลังจากติดตั้งสำเนาใหม่ของ Ubuntu 16.04 ฉันพยายามติดตั้ง MySQL ODBC ตามเอกสารอย่างเป็นทางการที่https://help.ubuntu.com/community/ODBC :

# apt-get install libmyodbc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libmyodbc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libmyodbc' has no installation candidate

ฉันเห็นว่านี่เป็นการเริ่มต้นที่ยอดเยี่ยม!

การค้นหาที่เก็บแพ็กเกจสำหรับ ODBC นั้นไม่มีประโยชน์อย่างยิ่ง นี่เป็นส่วนสำคัญของระบบ Linux ที่ทันสมัย! มันไปไหนน่ะ?!

PS: การอัปเดตเอกสารที่ help.ubuntu.com ก็ดีเช่นกัน!

แก้ไขเพื่อเพิ่ม: และดูเหมือนว่าไฟล์ไดรเวอร์ libmyodbc.so ไม่มีอยู่ใน Ubuntu รุ่นนี้


ลองapt-cache search libmyodbcรายการแพ็คเกจที่มีชื่อคล้ายกัน นี่คือสิ่งที่ "ที่อ้างถึงโดยแพ็คเกจอื่น" ที่เกี่ยวกับ หรือตรวจสอบว่ามันอยู่ในรายการ synaptic อย่าลืมapt-get updateก่อนติดตั้ง / อัพเกรดแพ็คเกจด้วยฉลาด
Lord_PedantenStein

ผมไม่รำคาญกับ apt-แคชฉันเพียงแค่ค้นหาpackages.ubuntu.com
เออร์นี่

ทั้งสองวิธีlibmyodbcไม่มีอยู่สำหรับ 16.04
edwinksl

เย็น. ฉันจะทำให้ ODBC ทำงานบน 16.04 ได้อย่างไร ฉันมีซอฟต์แวร์ที่ต้องใช้อย่างแน่นอน
เออร์นี่

คำตอบ:


9

ดาวน์โหลดโดยตรงจาก dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

เลือก Ubuntu 16.04 64 บิตหรือ 32 บิต (อาจเป็น 64 บิต) ดาวน์โหลดลูก TAR แล้วคัดลอกไฟล์libmyodbc5a.soไปที่/usr/lib/x86_64-linux-gnu/odbc/

จากนั้นสร้าง /etc/odbcinst.ini

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5a.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

และ /etc/odbc.ini

[my-connector]
Description           = MySQL connection to  database
Driver                = MySQL
Database              = mydb
Server                = localhost
User             = dbuser
Password              = dbpass
Port                  = 3306
Socket                = /var/run/mysqld/mysqld.sock

โปรดทราบว่าแท็กชื่อผู้ใช้คือผู้ใช้ (ไม่ใช่ชื่อผู้ใช้ตามที่เห็นในบางตัวอย่าง) และซ็อกเก็ตนั้นอยู่ภายใต้/var/runและไม่อยู่ภายใต้/var/lib

echo "select 1" | isql -v my-connector

จากนั้นทำงานให้ฉัน


1
โปรดทราบว่า odbcinst.ini ตามที่เสนอมีไว้สำหรับเวอร์ชัน ANSI ของไดรเวอร์ หากคุณต้องการตัวอักษร Unicode คุณจะดีกว่าด้วย Unicode รุ่นนี้: libmyodbc5w.so (ในสายคนขับ)
มาร์ค Vanhoomissen

ขอบคุณสำหรับคำตอบ. มันใช้งานได้อย่างมีเสน่ห์ใน Ubuntu 16.04
e_soroush

ในกรณีที่คนอื่นประสบปัญหาที่ฉันตี: "ล่าสุด" ณ วันที่ 2018-09-01 คือ v8.12 ฉันพบข้อผิดพลาดในที่สุดทั้งสองอย่างนี้และพยายามใช้เวอร์ชัน 5.X แต่เว็บไซต์ dev.mysql.com มีเพียง 8.12 หรือ 5.11 เท่านั้น ฉันขัดจังหวะอินเทอร์เน็ตสำหรับรุ่น 5.10 ซึ่งฉันค่อนข้างแน่ใจว่าจะใช้งานได้และพบมันในกระจกเงา FTP มีจำนวนมากส่วนใหญ่ที่มหาวิทยาลัย เรื่องสั้น ๆ สั้น ๆ : เพื่อปรับลดรุ่นของคุณลอง googling "mysql ftp mirror"
JDS

2

แพคเกจเป็นใช้ได้สำหรับ Xenial และมันสามารถมองเห็นได้ที่นี่ ดังนั้นจึงควรติดตั้ง ตรวจสอบให้แน่ใจว่าคุณเรียกใช้sudo apt-get updateก่อนที่จะติดตั้ง นอกจากนี้ตรวจสอบให้แน่ใจว่าที่เก็บข้อมูลจักรวาลสำหรับ Xenial เป็นส่วนหนึ่งของแหล่งข้อมูลของคุณ (ตามที่ลิงค์ด้านบนแสดงให้เห็นว่าแพ็คเกจนี้เป็นของพื้นที่เก็บข้อมูลของจักรวาล ) คุณสามารถตรวจสอบแหล่งที่มานี้เป็นส่วนหนึ่งของแหล่งข้อมูลที่มีอยู่ในetc/apt/sources.listไฟล์ ควรมีบรรทัดเช่น:

deb http://com.archive.ubuntu.com/ubuntu/ xenial universe

(กระจกอาจแตกต่างจากcom.archive...)

หากยังไม่สามารถติดตั้งได้ (ซึ่งแปลก) ไปที่เว็บไซต์ด้านบนเลือกรุ่นสถาปัตยกรรมและดาวน์โหลดไฟล์. deb ตัวอย่างเช่นสำหรับ amd64 ไฟล์นี้เป็นหนึ่ง: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb จากนั้นเปิดเทอร์มินัลไปที่โฟลเดอร์ที่มีไฟล์และเรียกใช้:

sudo dpkg -i file.deb
sudo apt-get install -f

(คำสั่งหลังคือในกรณีที่การอ้างอิงบางอย่างไม่ได้รับการแก้ไข)


4
แพคเกจที่ใช้อยู่ แต่มันได้ถูกลบออกจากuniverserepo ที่คุณสามารถดูจากประวัติศาสตร์การเผยแพร่ที่launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory เหตุผลสำหรับการกำจัดของมันจะได้รับที่bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 การเปิดใช้งานuniverserepo จะไม่ช่วย แพคเกจคือ "พร้อมใช้" ในความหมายที่เฉพาะเจาะจงของคำมากซึ่งเป็น.debไฟล์ก่อนที่จะทำการลบ หนึ่งสามารถติดตั้ง.debไฟล์ด้วยsudo dpkg -iแต่แพคเกจไม่ได้รับการรักษาในขณะที่และอาจจะเสีย
edwinksl

2

ฉันพบมันในhttp://dev.mysql.com/downloads/connector/odbc/ (ฉันเลือก "Ubuntu Linux 15.10 (x86, 64- บิต), บีบอัด TAR Archive")

Dowload มันและแยกไฟล์จากนั้นคุณจะได้รับ libmyodbc5a.so (สำหรับระบบ ANSI) และ libmyodbc5w.so (สำหรับ Unicode)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.