Ubuntu 16.04 LTS'yi Yükleme: ODBC nasıl kurulur?


16

Yeni bir Ubuntu 16.04 kopyasını yükledikten sonra, https://help.ubuntu.com/community/ODBC adresindeki resmi belgelere göre MySQL ODBC'yi yüklemeye çalıştım :

# 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

Bunun harika bir başlangıç ​​yaptığını görebiliyorum!

Paket deposunda ODBC araması da özellikle yardımcı olmamıştır. Bu, herhangi bir modern Linux sisteminin çok önemli bir parçasıdır! O nereye gitti?!

Not: help.ubuntu.com adresindeki belgelerin güncellenmesi de iyi olur!

Eklemek için düzenlendi: Ayrıca, libmyodbc.so sürücü dosyası Ubuntu'nun bu sürümünde yok gibi görünüyor.


apt-cache search libmyodbcbenzer ada sahip paketleri listelemeye çalışın . Bu "başka bir paket tarafından sevk" istediği şeydir. Veya sinaptik olarak listelenip listelenmediğini kontrol edin. Unutma apt-get updateapt ile yükleme / yükseltme paketleri önce.
Lord_PedantenStein

Apt-cache ile uğraşmıyorum, sadece Packages.ubuntu.com'u arıyorum .
Ernie

Her iki durumda da, libmyodbc16.04 için mevcut değil.
edwinksl

Güzel. ODBC'nin 16.04 üzerinde çalışmasını nasıl sağlayabilirim? Kesinlikle gerektiren bir yazılımım var.
Ernie

Yanıtlar:


9

Doğrudan dev.mysql.com adresinden indirin: https://dev.mysql.com/downloads/connector/odbc/

Ubuntu 16.04 64 bit veya 32 bit (64 bit muhtemelen) seçin, TAR topu indirmek, daha sonra dosyayı kopyalamak libmyodbc5a.soiçin/usr/lib/x86_64-linux-gnu/odbc/

sonra yarat /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

ve /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

Kullanıcı adı etiketinin Kullanıcı ( bazı örneklerde görüldüğü gibi kullanıcı adı değil ) ve soketin altında /var/runve altında olmadığını unutmayın./var/lib

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

sonra benim için çalıştı


1
Lütfen önerildiği gibi odbcinst.ini dosyasının ANSI sürümü için olduğunu unutmayın. UNICODE karakterlere ihtiyacınız varsa, UNICODE sürümü ile daha iyi libmyodbc5w.so
durumdasınız

Cevabınız için teşekkürler. Ubuntu'da bir cazibe gibi çalışıyor 16.04
e_soroush

Başkasının soruna çarpması durumunda: Vurduğum: 2018-09-01 itibariyle "en son" v8.12 idi. Bunların her ikisinde de en sonda bir hatayla karşılaştım ve 5.X sürümünü kullanmaya çalıştım. Ancak dev.mysql.com sitesinde yalnızca 8.12 veya 5.11 mevcuttu. İnterneti çalıştıracağımdan emin olduğum 5.10 sürümü için temizledim ve bir FTP aynasında buldum. Bunların birçoğu, çoğunlukla üniversitelerde. Yani, uzun öykü kısa: eski sürüme geçişinizi düşürmek için "mysql ftp aynası" nı deneyin
JDS

2

Paket olduğu Xenial için kullanılabilir ve görülebilir burada . Bu nedenle, yüklemelidir. sudo apt-get updateYüklemeden önce bir çalıştırdığınızdan emin olun . Ayrıca, Xenial için evren deposunun kaynaklarınızın bir parçası olduğundan emin olun (yukarıdaki bağlantıda gösterildiği gibi, bu paket evren deposuna aittir ). Bu kaynağın etc/apt/sources.listdosyadaki kullanılabilir kaynaklarınızın bir parçası olup olmadığını kontrol edebilirsiniz . Şunun gibi bir çizgi olmalıdır:

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

(Ayna farklı olabilir com.archive...)

Hala yükleyemiyorsanız (garip), yukarıdaki web sitesine gidin, mimari sürümünü seçin ve .deb dosyasını indirin. Örneğin, amd64 için dosya şudur: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Ardından bir terminal açın, dosyayı içeren klasöre gidin ve çalıştırın:

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

(İkinci komut, bazı bağımlılıkların karşılanmadığı durumda)


4
Paket kullanılan varoldukları için, ama o silindi universesen onun yayıncılık tarihinin gördüğünüz gibi repo launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory . Kaldırılmasının nedeni bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 adresinde verilmiştir . Repoyu etkinleştirmek universeyardımcı olmaz. Paket kelimenin tam anlamıyla "kullanılabilir", yani .debkaldırılmadan önceki dosya kullanılabilir. Biri .debdosyayı yükleyebilir sudo dpkg -i, ancak paket bir süredir korunmadı ve muhtemelen bozuk.
edwinksl

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.