Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Linux'ta SQL Server için Microsoft ODBC Sürücüsünün nasıl yükleneceği açıklanmaktadır. Ayrıca SQL Server için isteğe bağlı komut satırı araçlarına (bcp ve sqlcmd) ve unixODBC geliştirme üst bilgilerine yönelik yönergeler içerir.
Bu makalede BASH kabuğundan ODBC sürücüsünü yüklemeye yönelik komutlar sağlanır. Paketleri doğrudan indirmek istiyorsanız bkz. SQL Serveriçin ODBC Sürücüsünü İndirme
Microsoft ODBC 18
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 18'in nasıl yükleneceği açıklanmaktadır. Desteklenen dağıtımlar Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES), Ubuntu ve Azure Linux'tur. Sürüm 18.4'den başlayarak, Alpine Linux (veya .deb) olmayan sürücüyü yüklerken Son Kullanıcı Lisans Sözleşmesi'ni (.rpmEULA) otomatik olarak kabul etmek için dosyasını /opt/microsoft/msodbcsql18/ACCEPT_EULAoluşturabilirsiniz.
case $(uname -m) in
x86_64) architecture="amd64" ;;
arm64) architecture="arm64" ;;
*) architecture="unsupported" ;;
esac
if [[ "unsupported" == "$architecture" ]];
then
echo "Alpine architecture $(uname -m) is not currently supported.";
exit;
fi
#Download the desired package(s)
curl -O https://download.microsoft.com/download/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.6.2.1-1_$architecture.sig msodbcsql18_18.6.2.1-1_$architecture.apk
gpg --verify mssql-tools18_18.6.2.1-1_$architecture.sig mssql-tools18_18.6.2.1-1_$architecture.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.6.2.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.6.2.1-1_$architecture.apk
Not
Alp desteği için sürücü sürümü 17.5 veya üzeri gereklidir.
Önceki sürümler
Aşağıdaki bölümlerde, Linux'ta Microsoft ODBC sürücüsünün önceki sürümlerini yüklemeye yönelik yönergeler sağlanır. Aşağıdaki sürücü sürümleri ele alınmıştır:
- SQL Server için Microsoft ODBC sürücüsü 17
- SQL Server için Microsoft ODBC sürücüsü 13.1
- SQL Server için Microsoft ODBC sürücüsü 13
- SQL Server için Microsoft ODBC sürücüsü 11
Microsoft ODBC 17
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 17'nin nasıl yükleneceği açıklanmaktadır.
Önemli
Kısa bir süre kullanılabilir olan v17 msodbcsql paketini yüklediyseniz, çakışmaları önlemek için paketi yüklemeden msodbcsql17 önce paketi kaldırın.
msodbcsql17 paketini msodbcsql v13 paketiyle yan yana yükleyebilirsiniz.
#Download the desired package(s)
curl -O https://download.microsoft.com/download/607ebe2c-e17c-4c34-b367-10a75b83bef9/msodbcsql17_17.11.1.1-1_amd64.apk
curl -O https://download.microsoft.com/download/aca0282f-6a67-49c0-ae08-887d59d16d1a/mssql-tools_17.11.1.1-1_amd64.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/607ebe2c-e17c-4c34-b367-10a75b83bef9/msodbcsql17_17.11.1.1-1_amd64.sig
curl -O https://download.microsoft.com/download/aca0282f-6a67-49c0-ae08-887d59d16d1a/mssql-tools_17.11.1.1-1_amd64.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql17_17.11.1.1-1_amd64.sig msodbcsql17_17.11.1.1-1_amd64.apk
gpg --verify mssql-tools_17.11.1.1-1_amd64.sig mssql-tools_17.11.1.1-1_amd64.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql17_17.11.1.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.11.1.1-1_amd64.apk
Not
Alp desteği için sürücü sürümü 17.5 veya üzeri gereklidir.
ODBC 13.1
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 13.1'in nasıl yükleneceği açıklanmaktadır.
if ! [[ "8" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "Debian $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.deb
# Install the package
sudo dpkg -i packages-microsoft-prod.deb
# Delete the file
rm packages-microsoft-prod.deb
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
ODBC 13
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 13'ü yükleme açıklanmaktadır.
if ! [[ "6 7" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "RHEL $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/rhel/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo yum install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo yum update
sudo yum remove unixODBC #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
sudo yum install unixODBC-utf16-devel #this step is optional but recommended*
#Create symlinks for tools
sudo ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
sudo ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
ODBC 13 için çevrimdışı yükleme
Microsoft ODBC Sürücüsü 13'ü İnternet bağlantısı olmayan bir bilgisayara yüklemeniz gerekiyorsa paket bağımlılıklarını el ile çözmeniz gerekir. Microsoft ODBC Sürücüsü 13 aşağıdaki doğrudan bağımlılıklara sahiptir:
- Ubuntu:
libc6(>= 2.21),libstdc++6(>= 4.9),libkrb5-3,libcurl3,openssl,debconf(>= 0.5),unixODBC(>= 2.3.1-1) - Red Hat:
glibc,e2fsprogs,krb5-libs,openssl,unixODBC - SUSE:
glibc,libuuid1,krb5,openssl,unixODBC
Bu paketlerin her birinin kendi bağımlılıkları vardır ve bu bağımlılıklar sistemde mevcut olabilir veya olmayabilir. Bu sorunun genel bir çözümü için dağıtımınızın paket yöneticisi belgelerine bakın: Red Hat, Ubuntu ve SUSE.
Tüm bağımlı paketleri el ile indirebilir ve bunları yükleme bilgisayarına yerleştirebilirsiniz. Ardından, Microsoft ODBC Driver 13 paketini tamamlayarak her paketi sırayla el ile yükleyin.
- En son
msodbcsqlpaketini https://packages.microsoft.com/rhel/7/prod/ adresinden indirin. - Bağımlılıkları ve sürücüyü yükleyin.
sudo yum install glibc e2fsprogs krb5-libs openssl unixODBC unixODBC-devel #install dependencies
sudo rpm -i msodbcsql-13.1.X.X-X.x86_64.rpm #install the Driver
ODBC 11
Aşağıdaki bölümlerde, Linux'a Microsoft ODBC sürücüsü 11'in nasıl yükleneceği açıklanmaktadır. Sürücüyü kullanabilmeniz için unixODBC sürücü yöneticisini yükleyin. Daha fazla bilgi için bkz . Sürücü Yöneticisi'ni Yükleme.
Yükleme adımları
Önemli
Bu yönergeler, Red Hat Linux için yükleme dosyası olan msodbcsql-11.0.2270.0.tar.gzkonusuna başvurur. SUSE Linux için yüklerseniz, dosya adı msodbcsql-11.0.2260.0.tar.gzolur.
Sürücüyü yüklemek için:
Kök kullanıcı izniniz olduğundan emin olun.
Sürücüyü indirin.
Dağıtım Driver SHA256 özeti Red Hat 5 msodbcsql-11.0.2270.0.tar.gz 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343 Red Hat 6 msodbcsql-11.0.2270.0.tar.gz e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7 SUSE Linux msodbcsql-11.0.2260.0.tar.gz 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5 Dosyanın indirildiği dizin olan
msodbcsql-11.0.2270.0.tar.gz'ye gidin. Linux sürümünüzle*.tar.gzeşleşen bir dosyaya sahip olduğunuzdan emin olun. Dosyaları ayıklamak için aşağıdaki komutu çalıştırın:tar xvzf msodbcsql-11.0.2270.0.tar.gzDizine
msodbcsql-11.0.2270.0geçin. adlıinstall.shbir dosya görmeniz gerekir.Kullanılabilir yükleme seçeneklerinin listesini görmek için aşağıdaki komutu çalıştırın:
./install.shodbcinst.iniöğesinin yedeğini alın. Sürücü yüklemesi güncelleştirilirodbcinst.ini. odbcinst.ini, unixODBC Sürücü Yöneticisi'ne kayıtlı sürücülerin listesini içerir. Bilgisayarınızda odbcinst.ini konumunu bulmak için aşağıdaki komutu çalıştırın:odbc_config --odbcinstiniSürücüyü yüklemeden önce aşağıdaki komutu çalıştırın:
./install.sh verify./install.sh verifyçıkışı, bilgisayarınızda Linux'ta ODBC sürücüsünü desteklemek için gerekli yazılımın bulunup bulunmadığını bildirir.LINUX'ta ODBC sürücüsünü yüklemeye hazır olduğunuzda komutunu çalıştırın:
./install.sh installBir yükleme komutu (
bin-dirveyalib-dir) belirtmeniz gerekiyorsa, seçeneğininstallardından komutu belirtin.Lisans sözleşmesini gözden geçirdikten sonra yüklemeye devam etmek için yazın
YES.
Kurulum, sürücüyü /opt/microsoft/msodbcsql/11.0.2270.0'a koyar. Sürücü ve destek dosyaları /opt/microsoft/msodbcsql/11.0.2270.0içinde olmalıdır.
Linux üzerinde Microsoft ODBC sürücüsünün başarıyla kaydedildiğini doğrulamak için aşağıdaki komutu çalıştırın:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Kaldır
Aşağıdaki komutları çalıştırarak Linux'ta ODBC sürücüsü 11'i kaldırın:
rm -f /usr/bin/sqlcmd
rm -f /usr/bin/bcp
rm -rf /opt/microsoft/msodbcsql
odbcinst -u -d -n "ODBC Driver 11 for SQL Server"
Sürücü dosyaları
Linux'taki ODBC sürücüsü aşağıdaki bileşenleri içerir:
| Bileşen | Açıklama |
|---|---|
libmsodbcsql-17.X.so.X.X veya libmsodbcsql-13.X.so.X.X |
Sürücünün tüm işlevlerini içeren paylaşılan nesne (so) dinamik kitaplık dosyası. Yükleme yolu /opt/microsoft/msodbcsql17/lib64/ Sürücü 17 ve /opt/microsoft/msodbcsql/lib64/ Sürücü 13 içindir. |
msodbcsqlr17.rll veya msodbcsqlr13.rll |
Sürücü kitaplığına eşlik eden kaynak dosyası. Yükleme yolu şu şekildedir: [driver .so directory]../share/resources/en_US/ |
msodbcsql.h |
Sürücüyü kullanmak için gereken tüm yeni tanımları içeren üst bilgi dosyası. Not: msodbcsql.h ve odbcss.h'e aynı programda referans veremezsiniz.Yükleme yolu /opt/microsoft/msodbcsql17/include/ Sürücü 17 ve /opt/microsoft/msodbcsql/include/ Sürücü 13 içindir. |
LICENSE.txt |
End-User Lisans Sözleşmesi koşullarını içeren metin dosyası. Yükleme yolu /usr/share/doc/msodbcsql17/ Sürücü 17 ve /usr/share/doc/msodbcsql/ Sürücü 13 içindir. |
RELEASE_NOTES |
Sürüm notlarını içeren metin dosyası. Yükleme yolu /usr/share/doc/msodbcsql17/ Sürücü 17 ve /usr/share/doc/msodbcsql/ Sürücü 13 içindir. |
Kaynak dosyası yükleme
Sürücünün çalışması için kaynak dosyasını yüklemesi gerekir. Bu dosya, sürücü sürümüne bağlı olarak msodbcsqlr17.rll veya msodbcsqlr13.rll olarak adlandırılır. Dosyanın konumu .rll , önceki tabloda açıklandığı gibi sürücünün konumuna (so veya dylib) göredir. Sürüm 17.1'den başlayarak, sürücü .rll dosyasını göreli yoldan yükleyemiyorsa, .rll dosyasını varsayılan dizinden de yüklemeyi dener. Linux'ta varsayılan kaynak dosyası yolu /opt/microsoft/msodbcsql17/share/resources/en_US/.
Sorun Giderme
Önceki sürücü sürümü çakışması
Daha önce unixODBC ile bir sürücü sürümü yüklediyseniz ve kaydettiyseniz, yükleme aşağıdakine benzer bir hatayla başarısız olabilir:
Installation failed, ODBC Driver $1 for SQL Server detected!
Sorunu çözmek için komutunu kullanarak odbcinst sürücünün bu sürümünün kaydını kaldırın. Yükleme hatasında bildirilen sürücünün sürümüyle $1 değerini değiştirin.
odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
komutunu kullanarak odbcinst kaldırma işlemi başarısız olursa, sürücü bölümlerini dosyadan odbcinst.ini el ile kaldırabilirsiniz. komutunu odbcinst.inikullanarak dosyanın konumunu odbcinst -j bulabilirsiniz.
Debian ve Ubuntu'da paket indirme hataları
Debian tabanlı dağıtımlarda, paketi yüklerken packages-microsoft-prod.deb aşağıdaki hatayı görebilirsiniz:
dpkg-deb: error: 'packages-microsoft-prod.deb' is not a Debian format archive
Bu hata genellikle indirilen dosyanın bozuk veya eksik olduğu, genellikle bir ağ kesintisi veya ara sunucu sorunundan kaynaklandığı anlamına gelir. Sorunu çözmek için:
Bozuk dosyayı silin ve yeniden indirin. Ubuntu için:
rm packages-microsoft-prod.deb curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.debDebian için
ubuntukalıbını değiştirin ve yalnızca ana sürüm numarasını kullanın.rm packages-microsoft-prod.deb curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.debİndirme işleminin geçerli bir Debian paketi olduğunu doğrulayın (çıktı şunları içermelidir
Debian binary package):file packages-microsoft-prod.debİndirme başarısız olursa ağ bağlantınızı ve ara sunucu ayarlarınızı denetleyin veya yerine
wgetkullanıncurl:wget https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
Bağlantı sorunları
ODBC sürücüsünü kullanarak SQL Server'a bağlantı oluşturamıyorsanız, bağlantı sorunlarını gidermeyle ilgili bilinen sorunlar makalesine bakın.