Reputation: 4234
I try to install msodbcsql17 on AWS EC2 with CentOS/RedHat (Linux).
These are the steps, I have followed, from Microsoft (LINK):
sudo su
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#RedHat Enterprise Server 6
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
#RedHat Enterprise Server 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install unixODBC-devel
The instruction work until the installation of msodbcsql17. I get the following error message:
Error: Package: msodbcsql17 (packages-microsoft-com-prod)
Requires: unixODBC >= 2.3.1
Available: unixODBC-2.2.14-14.7.amzn1.i686 (amzn-main)
unixODBC = 2.2.14-14.7.amzn1
I think the problem is, that the maximum available version of unixODBC is less then 2.3.1, but how can I install msodbcsql17, to connect with Microsoft?
Upvotes: 6
Views: 14809
Reputation: 21
heres a snippet from my docker file that shows how to install on amazon linux:
RUN curl http://mirror.centos.org/centos/7/os/x86_64/Packages/unixODBC-2.3.1-14.el7.x86_64.rpm > /tmp/unixODBC-2.3.1-14.el7.x86_64.rpm
RUN yum -y install /tmp/unixODBC-2.3.1-14.el7.x86_64.rpm
RUN curl http://mirror.centos.org/centos/7/os/x86_64/Packages/unixODBC-devel-2.3.1-14.el7.x86_64.rpm > /tmp/unixODBC-devel-2.3.1-14.el7.x86_64.rpm
RUN yum -y install /tmp/unixODBC-devel-2.3.1-14.el7.x86_64.rpm
RUN curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
RUN ACCEPT_EULA=Y yum -y install msodbcsql17
bonus if you want pyodbc:
RUN yum -y install gcc72-c++ \
&& yum -y install python36-devel \
&& yum -y install zip \
&& yum clean all
RUN python3.6 -m pip install --upgrade pip
RUN python3.6 -m pip install pyodbc
https://github.com/Microsoft/msphpsql/issues/496#issuecomment-569938591
Upvotes: 2
Reputation: 4234
After a long time of research, I have figured out a solution:
sudo rpm -i unixODBC-2.3.1-11.el7.x86_64.rpm
to install the necessary version (Perhaps, you have to change the version number to the version number of the uploaded file)sudo rpm -i msodbcsql17-17.1.0.1-1.x86_64.rpm
Enter sudo rpm -i mssql-tools-17.1.0.1-1.x86_64.rpm
Follow the rest of the Microsoft instruction, like in your question.
Instead of rpm -i
, you can use yum install
as well
UPDATE: Please take a look at the comment from @KnudLarsen!
Upvotes: 8