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 (.debveya .rpm) olmayan sürücüyü yüklerken EULA'yı 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/9dcab408-e0d4-4571-a81a-5a0951e3445f/msodbcsql18_18.6.1.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/b60bb8b6-d398-4819-9950-2e30cf725fb0/mssql-tools18_18.6.1.1-1_$architecture.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/9dcab408-e0d4-4571-a81a-5a0951e3445f/msodbcsql18_18.6.1.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/b60bb8b6-d398-4819-9950-2e30cf725fb0/mssql-tools18_18.6.1.1-1_$architecture.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.6.1.1-1_$architecture.sig msodbcsql18_18.6.1.1-1_$architecture.apk
gpg --verify mssql-tools18_18.6.1.1-1_$architecture.sig mssql-tools18_18.6.1.1-1_$architecture.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.6.1.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.6.1.1-1_$architecture.apk
Not
Alp desteği için sürücü sürümü 17.5 veya üzeri gereklidir.
if ! [[ "9 10 11 12 13" == *"$(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 -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install -y libgssapi-krb5-2
Not
Ortam değişkeni ACCEPT_EULA ayarının yerine debconf değişkenini msodbcsql/ACCEPT_EULA ayarlayabilirsiniz: echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
if ! [[ "7 8 9 10" == *"$(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 remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel
if ! [[ "12 15" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo zypper update
sudo ACCEPT_EULA=Y zypper install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install -y unixODBC-devel
if ! [[ "18.04 20.04 22.04 24.04 25.10" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
# Install the package
sudo dpkg -i packages-microsoft-prod.deb
# Delete the file
rm packages-microsoft-prod.deb
# Install the driver
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
Not
'ACCEPT_EULA' ortam değişkeninin yerine 'msodbcsql/ACCEPT_EULA' debconf değişkenini ayarlayabilirsiniz: echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
if ! [[ "3.0" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Azure Linux $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
sudo ACCEPT_EULA=Y tdnf install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y tdnf install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo tdnf install -y unixODBC-devel
Not
Ortam değişkenini ACCEPT_EULA ayarlamazsanız yükleme devam eder. Ancak lisans koşullarını kabul etmek için /opt/microsoft/msodbcsql18/accept-eula.sh ve /opt/mssql-tools18/bin/accept-eula.sh manuel olarak çalıştırmanız gerekir. Yükleme sırasında EULA'yı otomatik olarak kabul etmek için /opt/microsoft/msodbcsql18/ACCEPT_EULA ve /opt/mssql-tools18/ACCEPT_EULA dosyalarını oluşturabilirsiniz.
Ö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:
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ırmanız gerekir.
msodbcsql17 paketi, msodbcsql v13 paketiyle yan yana yüklenebilir.
#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.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/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.sig
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.1.1-1_amd64.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql17_17.10.6.1-1_amd64.sig msodbcsql17_17.10.6.1-1_amd64.apk
gpg --verify mssql-tools_17.10.1.1-1_amd64.sig mssql-tools_17.10.1.1-1_amd64.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql17_17.10.6.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.10.1.1-1_amd64.apk
Not
Alp desteği için sürücü sürümü 17.5 veya üzeri gereklidir.
if ! [[ "8 9 10 11 12" == *"$(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 -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install -y libgssapi-krb5-2
Not
'ACCEPT_EULA' ortam değişkeninin yerine 'msodbcsql/ACCEPT_EULA' debconf değişkenini ayarlayabilirsiniz: echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
if ! [[ "6 7 8 9" == *"$(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 remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel
if ! [[ "11 12 15" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
# If you need driver 17.3 or below on SLES 15, you also need to run:
# sudo SUSEConnect -p sle-module-legacy/15/x86_64
sudo zypper update
sudo ACCEPT_EULA=Y zypper install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install -y unixODBC-devel
if ! [[ "14.04 16.04 18.04 20.04 22.04" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/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 -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
Not
'ACCEPT_EULA' ortam değişkeninin yerine 'msodbcsql/ACCEPT_EULA' debconf değişkenini ayarlayabilirsiniz: echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
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
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 remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install unixODBC-devel
if ! [[ "11 12" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo ACCEPT_EULA=Y zypper install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install unixODBC-devel
if ! [[ "14.04 16.04" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/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
if ! [[ "14.04 16.04" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/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=13.0.1.0-1 mssql-tools=14.0.2.0-1
sudo apt-get install unixodbc-dev-utf16 #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
if ! [[ "11 12" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo zypper update
sudo ACCEPT_EULA=Y zypper install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
sudo zypper install unixODBC-utf16-devel
#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
Ç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)
- Kırmızı Şapka:
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, Ubuntuve SUSE
Ayrıca, tüm bağımlı paketleri el ile indirmek ve bunları yükleme bilgisayarına yerleştirmek, ardından her paketi sırayla el ile yüklemek ve Microsoft ODBC Driver 13 paketiyle tamamlamak da yaygındır.
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
sudo zypper install glibc, libuuid1, krb5, openssl, unixODBC unixODBC-devel #install dependencies
sudo rpm -i msodbcsql-13.1.X.X-X.x86_64.rpm #install the Driver
Paket yüklemesini tamamladıktan sonra, Microsoft ODBC Sürücüsü 13'ün, tüm bağımlılıklarını bulup bulamayacağını doğrulamak için 'ldd' komutunu çalıştırarak ve çıktısını eksik kütüphaneler açısından inceleyerek kontrol edebilirsiniz.
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-*
sudo apt-get install libc6 libstdc++6 libkrb5-3 libcurl3 openssl debconf unixodbc unixodbc-dev #install dependencies
sudo dpkg -i msodbcsql_13.1.X.X-X_amd64.deb #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.
Kırmızı Şapka 5 - msodbcsql-11.0.2270.0.tar.gzSHA256: 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343
Kırmızı Şapka 6 - msodbcsql-11.0.2270.0.tar.gzSHA256: e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7
SUSE Linux - msodbcsql-11.0.2260.0.tar.gz (SHA256: 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5)
Dosyanın indirildiği dizin olan msodbcsql-11.0.2270.0.tar.gz'ye gidin. Linux sürümünüzle eşleşen *.tar.gz dosyasına sahip olduğunuzdan emin olun. Dosyaları ayıklamak için şu komutu yürüterek işlemi tamamlayın: tar xvzf msodbcsql-11.0.2270.0.tar.gz.
dizinine msodbcsql-11.0.2270.0 geçin ve burada install.sh adlı bir dosya görmeniz gerekir.
Kullanılabilir yükleme seçeneklerinin listesini görmek için şu komutu yürütebilirsiniz: ./install.sh.
odbcinst.ini yedeğini yapın. Sürücü yüklemesi odbcinst.inigüncelleştirilir. 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 şu komutu yürütebilirsiniz: odbc_config --odbcinstini.
Sürücüyü yüklemeden önce şu komutu yürütebilirsiniz: ./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 şu komutu yürütebilirsiniz: ./install.sh install. Bir yükleme komutu (bin-dir veya lib-dir) belirtmeniz gerekiyorsa , yükleme seçeneğinden sonra komutunu belirtin.
Lisans sözleşmesini gözden geçirdikten sonra yüklemeye devam etmek için EVET yazın.
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'ta Microsoft ODBC sürücüsünün başarıyla kaydedildiğini doğrulamak için şu komutu çalıştırın: odbcinst -q -d -n "ODBC Driver 11 for SQL Server".
Kaldır
Aşağıdaki komutları yürüterek Linux üzerinde ODBC sürücüsü 11'i kaldırabilirsiniz:
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şenlerden oluşur:
| 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ı. Bu dosya, Sürücü 17 için /opt/microsoft/msodbcsql17/lib64/ ve Sürücü 13 için /opt/microsoft/msodbcsql/lib64/ yüklenir. |
msodbcsqlr17.rll veya msodbcsqlr13.rll |
Sürücü kitaplığı için eşlik eden kaynak dosyası. Bu dosya [driver .so directory]../share/resources/en_US/ klasörüne yüklenmiştir. |
| msodbcsql.h |
Sürücüyü kullanmak için gereken tüm yeni tanımları içeren üst bilgi dosyası.
Not: Aynı programda msodbcsql.h ve odbcss.h'ye başvuramazsınız.
msodbcsql.h, Sürücü 17 için /opt/microsoft/msodbcsql17/include/ ve Sürücü 13 için /opt/microsoft/msodbcsql/include/ yüklenir. |
| LICENSE.txt |
End-User Lisans Sözleşmesi koşullarını içeren metin dosyası. Bu dosya Sürücü 17 için /usr/share/doc/msodbcsql17/ ve Sürücü 13 için /usr/share/doc/msodbcsql/ yerleştirilir. |
| SÜRÜM_NOTLARI |
Sürüm notlarını içeren metin dosyası. Bu dosya Sürücü 17 için /usr/share/doc/msodbcsql17/ ve Sürücü 13 için /usr/share/doc/msodbcsql/ yerleştirilir. |
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.
.rll dosyasının konumu, önceki tabloda belirtildiği gibi sürücünün konumuna (so veya dylib) göredir. Sürüm 17.1'den itibaren, göreli yoldan yükleme başarısız olursa sürücü de varsayılan dizinden .rll yüklemeyi dener. Linux'ta varsayılan kaynak dosyası yolu /opt/microsoft/msodbcsql17/share/resources/en_US/.
Sorun Giderme
Sürücünün bir sürümü daha önce unixODBC'ye yüklenmiş ve kaydedilmişse, yükleme Installation failed, ODBC Driver $1 for SQL Server detected!gibi bir hatayla başarısız olabilir. Sorunu çözmek için sürücünün bu sürümünün kaydını kaldırın. Sürücülerin kaydını odbcinst komutuyla kaldırabilirsiniz: odbcinst -u -d -n "ODBC Driver $1 for SQL Server. ($1 yükleme hatasında bildirilen sürücünün sürümüyle değiştirin.) odbcinst komutuyla kaldırma işlemi başarısız olursa, sürücü bölümlerini odbcinst.ini dosyasından el ile kaldırabilirsiniz.
odbcinst.ini dosyasının konumunu odbcinst -jkomutuyla bulabilirsiniz.
ODBC sürücüsünü kullanarak SQL Server'a bağlantı kurulamıyorsanızbağlantı sorunlarını giderme ile ilgili bilinen sorunlar makalesine bakın.
İlgili içerik