amazon-ec2 - 在 Linux Redhat/CentOS 上为 msodbcsql17 安装 unixODBC >= 2.3.1
问题描述
我尝试使用 CentOS/RedHat (Linux) 在 AWS EC2 上安装 msodbcsql17。
这些是我遵循的来自 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
该指令在安装 msodbcsql17 之前一直有效。我收到以下错误消息:
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
我认为问题是,unixODBC 的最大可用版本低于 2.3.1,但我如何安装 msodbcsql17 以与 Microsoft 连接?
解决方案
经过长时间的研究,我想出了一个解决方案:
- 从任何来源下载 unixODBC >= 2.3.1,作为 rpm(示例源)
- 从 Microsoft 下载 msodbcsql17 和 mssql-tool 作为 rpm(链接到 Repo)(在我的例子中是msodbcsql17-17.1.0.1-1.x86_64.rpm和mssql-tools-17.1.0.1-1.x86_64.rpm)
- 通过 ftp(如 FileZilla)将文件传输到 EC2 实例
- 使用EC2终端,进入上传文件的目录
- 回车
sudo rpm -i unixODBC-2.3.1-11.el7.x86_64.rpm
安装必要的版本(或许你得把版本号改成上传文件的版本号) - 进入
sudo rpm -i msodbcsql17-17.1.0.1-1.x86_64.rpm
进入
sudo rpm -i mssql-tools-17.1.0.1-1.x86_64.rpm
按照 Microsoft 说明的其余部分,就像在您的问题中一样。
- 现在您应该可以在 python 中使用 ODBC 和 pyodbc 了。
代替,您也rpm -i
可以使用yum install
更新:请查看@KnudLarsen 的评论!
推荐阅读
- javascript - 为什么一定要加上[I]?
- r - 插入符号(R)中的summary()和print()有什么区别
- html - 更改谷歌翻译的默认网站语言
- r - 如何确定列中的日期是否唯一?
- python - Pandas - 基于某些列作为索引合并/查找 2 个数据帧
- c# - Webhook 中的会话已更改
- karate - 空手道 api 测试正在将 @ 转换为 %40,同时拨打电话
- python-3.x - 如何在python中将dict列表转换为json?
- sql-server - 将像✅这样的unicode从表单存储到数据库
- javascript - 在 Bootstrap 加载时使用 HMTLWebPackPlugin 测试基于 WebPack 的 WebApp