sqlserver驱动配置_sql server显示无法连接

sqlserver驱动配置_sql server显示无法连接当我们在调试Archery的时候,连接SQL Server 会报错,而MySQL部分没有问题。报错信息如下: Error: ('01000', "[01000] [unixO

调试Archery连接SQL Server提示驱动错误

当我们在调试Archery的时候,连接SQL Server 会报错,而MySQL部分没有问题。报错信息如下:

Error: ("01000", "[01000] [unixODBC][Driver Manager]Can"t open lib "ODBC Driver 17 for SQL Server" : file not found (0) (SQLDriverConnect)")

记录下 我们是怎么定位问题、寻找技术文档帮助、和安装相关组件的。

1.定位关键代码

通过报错路径和设置断点,很快定位的报错代码。

其路径为 

/sql/engines/mssql.py

报错的方法是get_connection,具体代码

    def get_connection(self, db_name=None):
        connstr = """DRIVER=ODBC Driver 17 for SQL Server;SERVER={0},{1};UID={2};PWD={3};
client charset = UTF-8;connect timeout=10;CHARSET={4};""".format(self.host, self.port, self.user, self.password,
                                                                 self.instance.charset or "UTF8")
        if self.conn:
            return self.conn
        self.conn = pyodbc.connect(connstr)
        return self.conn

相对比较简单,没啥逻辑。

2.寻找技术文档

主要还是 https://archerydms.com/ 官方文档

step 1 点击 【快速开始】

sqlserver驱动配置_sql server显示无法连接

step 2 找到部署相关的文档

sqlserver驱动配置_sql server显示无法连接

 step 3 选择 手动部署 部分

sqlserver驱动配置_sql server显示无法连接

 Step 4  选择其中的SQL Server 部分 【安装 MS SQL Server 驱动(需要使用MsSQL的按需安装)】

sqlserver驱动配置_sql server显示无法连接

 3.安装相关组件

上面的具体要求和步骤如下

# CentOS 6
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
# CentOS 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
# 卸载冲突驱动
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
# 安装驱动
sudo ACCEPT_EULA=Y yum install msodbcsql17
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
# 安装ODBC依赖
sudo yum install unixODBC-devel

如果yum源 或者 本地server 可以上外网,则安装要求之间运行安装即可。

下面我们看看,如果因为yum源和上网权限, server之间 yum不行怎么办? 

我们把上面的执行拆解掉

step 1 因为 Server是 CentOS 7 ,所以,我们在可上Intent 的电脑上运行

https://packages.microsoft.com/config/rhel/7/prod.repo

下载 prod.repo 文件

sqlserver驱动配置_sql server显示无法连接

step 2  用记事本方式 打开  prod.repo

里面的内容如下:

[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/rhel/7/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

step 3 打开访问其中的 baseurl

网址 https://packages.microsoft.com/rhel/7/prod/

看到其中是 各个 组件大全,包含各种组件包

sqlserver驱动配置_sql server显示无法连接

step 4 在界面上Ctrl + F ,查找 到【msodbcsql17】 【mssql-tools】,找到 合适版本分别进行下载。

查找msodbcsql17

sqlserver驱动配置_sql server显示无法连接

 查找mssql-tools

 sqlserver驱动配置_sql server显示无法连接

注意,因本地已安装 unixODBC-devel,所以,无需安装。只要安装上面的两个组件就可以了,其他任何操作都不需要了,即相当于 只执行建议中的

# 安装驱动
sudo ACCEPT_EULA=Y yum install msodbcsql17
sudo ACCEPT_EULA=Y yum install mssql-tools

step 4 将下载的rpm 文件 上传的服务器上,通过  yum  localinstall 插件名 命令分别安装即可。

step 5 安装需要的组件后,再次调试,报错消失了。

4.说明

梳理整理记录于此,希望遇到类似情况,有所帮助,减少不必要的探索和挣扎。

原文地址:https://www.cnblogs.com/xuliuzai/archive/2022/06/15/16377442.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5107.html

(0)
上一篇 2023-05-22
下一篇 2023-05-22

相关推荐

  • Python列表长度对程序性能的影响

    Python列表长度对程序性能的影响在Python编程中,列表是一种非常常用的数据类型。列表可以存储多种元素类型,可以进行插入、删除、排序等操作。然而,在处理大量数据时,Python列表的性能可能是一个问题。本文将探讨Python列表长度对程序性能的影响,并提供一些可行的解决方案。

    2024-05-31
    64
  • Python中merge函数的使用方法

    Python中merge函数的使用方法Python是一门强大的编程语言,它提供了许多函数来帮助程序员完成各种任务。其中,merge()函数是一种非常有用的函数,它可以用来合并两个或多个字典。在这篇文章中,我们将详细介绍Python中merge()函数的使用方法,并且提供代码示例方便读者理解。

    2024-08-18
    26
  • Hive简介[通俗易懂]

    Hive简介[通俗易懂]1.1 Hive简介 1.1.1 什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 1.1.2 为什么使用Hive 直接

    2022-12-30
    138
  • Python获取昨天日期

    Python获取昨天日期在进行日期计算时,经常需要获取昨天日期的值。Python 作为一种功能强大的编程语言,提供了多种方法来获得昨天的日期。

    2024-07-01
    45
  • 如何使用 SQL WHERE 过滤返回的数据「终于解决」

    如何使用 SQL WHERE 过滤返回的数据「终于解决」本文介绍如何使用 SQL WHERE 子句指定搜索条件,过滤返回的数据。还介绍如何检验相等、不相等、大于、小于、值的范围以及 NULL 值等。 一、使用 WHERE 子句 数据库表一般包含大量的数据,

    2023-05-13
    143
  • 达梦与oracle的对比_达梦数据库与oracle对比

    达梦与oracle的对比_达梦数据库与oracle对比本文对逻辑备份进行学习与测试,并选取个别场景对达梦与Oracle进行对比测试。 一、测试环境 (一)达梦 系统平台 操作系统 配置 逻辑CPU个数 VMware REDHAT6.8 Intel(R)

    2023-05-01
    145
  • 【Go】高效截取字符串

    【Go】高效截取字符串最近我在 Go Forum 中发现了 [SOLVED] String size of 20 character 的问题,“hollowaykeanho” 给出了相关的答案,而我从中发现了截取字符串的方

    2023-03-02
    156
  • 程序员教你_程序员基础知识

    程序员教你_程序员基础知识答:完全可以,甚至我只建议自学,现在网上课程很多,而且大部分程序员是边学边做的,技术一直在更新,需要一直学,假如你自学都不太行的话,甚至我不建议

    2022-12-14
    190

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注