【问题标题】:Install Microsoft ODBC Driver 13 for SQL Server on azure batch node在 Azure 批处理节点上安装 Microsoft ODBC Driver 13 for SQL Server
【发布时间】:2018-03-26 18:25:50
【问题描述】:

我正在将 Ubuntu Server 16.04 规范节点部署到 Azure Batch。 我的任务需要访问 Azure SQL 服务器数据库,并且我的代码是用 Python 编写的。

在我可以使用 pyodbc 之前,我需要安装 Microsoft ODBC Driver 13 for SQL Server。

我已尝试按照指南 here 并将命令添加到 Azure Batch Pool StartTask 以在节点上安装库,但我收到错误...

以下是每个节点在启动时执行的命令:

'sudo apt-get update -y && sudo apt-get upgrade -y',
'curl -fSsL https://bootstrap.pypa.io/get-pip.py | python',
'apt-get install -y python3-pip',
'pip3 install azure-storage==0.32.0',
'curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -',
'curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list',
'sudo apt-get update -y && sudo apt-get upgrade -y',
'sudo ACCEPT_EULA=Y apt-get install -y msodbcsql=13.0.1.0-1 mssql-tools-14.0.2.0-1',
'sudo apt-get install -y unixodbc-dev-utf16',
'ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd',
'ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp',
'pip3 install pyodbc'

上述命令(第 5 到 11 行来自上述链接)来自 MS 文档...

节点 StartTask 失败并显示以下内容:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   983  100   983    0     0   4397      0 --:--:-- --:--:-- --:--:--  4408
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100    79  100    79    0     0    753      0 --:--:-- --:--:-- --:--:--   759
E: Unable to locate package mssql-tools-14.0.2.0-1
E: Couldn't find any package by glob 'mssql-tools-14.0.2.0-1'
E: Couldn't find any package by regex 'mssql-tools-14.0.2.0-1'

如果你想自己尝试,可以使用following tutorial code,并在create_pool函数中修改task_commands

有人有什么想法吗?

【问题讨论】:

    标签: python linux azure odbc azure-batch


    【解决方案1】:

    mssql-tools-14.0.2.0-1 包的名称格式可能存在问题。您是否尝试过mssql-tools=14.0.2.0-1(注意等号)?

    【讨论】:

      【解决方案2】:

      使用以下命令安装 ODBC 驱动程序和 pyodbc:

      sudo apt-get -y update;
      export DEBIAN_FRONTEND=noninteractive;
      sudo apt-get install -y python3-pip;
      apt-get install -y --no-install-recommends apt-utils apt-transport-https;
      curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - ;
      curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list ;
      sudo apt-get -y update ;
      ACCEPT_EULA=Y apt-get -y install msodbcsql17 ;
      ACCEPT_EULA=Y apt-get -y install mssql-tools ;
      echo 'export PATH=\"$PATH:/opt/mssql-tools/bin\"' >> ~/.bash_profile ;
      echo 'export PATH=\"$PATH:/opt/mssql-tools/bin\"' >> ~/.bashrc ;
      source ~/.bashrc&& sudo apt-get install -y unixodbc unixodbc-dev ;
      sudo pip3 install pyodbc;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-09
        • 1970-01-01
        • 2017-11-30
        • 2018-08-14
        • 2017-10-06
        • 1970-01-01
        • 2017-12-13
        • 1970-01-01
        相关资源
        最近更新 更多