首页 > 数据库 >在Docker中安装SQL Server的ODBC驱动并添加Python测试代码

在Docker中安装SQL Server的ODBC驱动并添加Python测试代码

时间:2024-05-21 13:31:21浏览次数:22  
标签:Python odbc ODBC apt Server etc ini && echo

# 使用官方的Ubuntu 20.04镜像作为基础镜像 FROM ubuntu:20.04
# 设置环境变量以避免交互式安装提示 ENV DEBIAN_FRONTEND=noninteractive
# 更新包列表并安装必要的软件包 RUN apt-get update && \     apt-get install -y \     wget \     curl \     gnupg2 \     apt-transport-https \     unixodbc \     unixodbc-dev \     odbcinst \     build-essential \     software-properties-common \     python3 \     python3-pip && \     apt-get clean && \     rm -rf /var/lib/apt/lists/*
# # 添加 Microsoft 的包签名密钥和包存储库 # RUN wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \ #     dpkg -i packages-microsoft-prod.deb && \ #     rm packages-microsoft-prod.deb
# # 安装 .NET SDK # RUN apt-get update && \ #     apt-get install -y dotnet-sdk-8.0 && \ #     apt-get clean && \ #     rm -rf /var/lib/apt/lists/*
# 添加 Microsoft SQL Server ODBC 驱动的密钥和存储库 RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \     curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
# 更新包列表并安装 Microsoft ODBC Driver for SQL Server RUN apt-get update && \     ACCEPT_EULA=Y apt-get install -y msodbcsql17 && \     apt-get clean && \     rm -rf /var/lib/apt/lists/*
# 配置 ODBC 驱动 RUN echo "[ODBC Driver 17 for SQL Server]" > /etc/odbcinst.ini && \     echo "Description = Microsoft ODBC Driver 17 for SQL Server" >> /etc/odbcinst.ini && \     echo "Driver = /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.6.1" >> /etc/odbcinst.ini
# 配置 ODBC 数据源 RUN echo "[MSSQLDataSource]" > /etc/odbc.ini && \     echo "Driver = ODBC Driver 17 for SQL Server" >> /etc/odbc.ini && \     echo "Server = localhost" >> /etc/odbc.ini && \     echo "Port = 1433" >> /etc/odbc.ini && \     echo "Database = testdb" >> /etc/odbc.ini && \     echo "UID = sa" >> /etc/odbc.ini && \     echo "PWD = YOUR_PASSWORD" >> /etc/odbc.ini
# 安装 pyodbc 用于测试连接 RUN pip3 install pyodbc
# 添加测试脚本 COPY mssqltest_odbc.py /mssqltest_odbc.py
# 设置默认命令 CMD ["python3", "/mssqltest_odbc.py"]  


Python测试脚本: import pyodbc
# 配置SQL Server数据库连接 dsn = 'MSSQLDataSource' user = 'sa' password = 'YOUR_PASSWORD' database = 'testdb'
# 创建连接字符串 conn_str = f'DSN={dsn};UID={user};PWD={password};DATABASE={database}'
# 尝试连接到数据库 try:     conn = pyodbc.connect(conn_str)     print("Connected to the database successfully!")     conn.close() except Exception as e:     print(f"Failed to connect to the database: {e}")    

标签:Python,odbc,ODBC,apt,Server,etc,ini,&&,echo
From: https://www.cnblogs.com/pccai/p/18203791

相关文章

  • 在Docker中安装MySQL的ODBC驱动并添加Python测试代码
    #使用官方的Ubuntu镜像作为基础镜像FROMubuntu:20.04#设置环境变量以避免交互式安装提示ENVDEBIAN_FRONTEND=noninteractive#更新包列表并安装必要的软件包RUNapt-getupdate&&\  apt-getinstall-y\  build-essential\  curl\  apt-trans......
  • 在Docker中安装PostgreSQL的ODBC驱动并添加Python测试代码
    #使用官方的Ubuntu镜像作为基础镜像FROMubuntu:20.04#设置环境变量以避免交互式安装提示ENVDEBIAN_FRONTEND=noninteractive#更新包列表并安装必要的软件包RUNapt-getupdate&&\  apt-getinstall-y\  build-essential\  unixodbc\  unixo......
  • C#如何用最简单方法调用Python?
    最近有群友咨询C#如何调用Python?小编尝试Python.NET过程中遭遇的版本兼容性和环境配置难题,小编决定寻找一个更为简单、稳定且对初学者友好的解决方案。小编搜索一番,除了Python.NET之外,还有其他途径能够帮助我们轻松地在C#项目调用Python脚本,那就是通过命令行调用,使用System.Diagn......
  • Python之快排算法
    快排算法的思路:从list中取出下标为0的值定义三个list进行循环,大于list[0]放入一个A,小于的放入B,其他的放入C拼接:A+C+B代码实现:list=[13,8,11,17,5,6,1,1,1]defQuickSort(list):iflen(list)<=1:#判断如果小于等于1,则无需排序,直接返回即可......
  • SQL Server 触发器利用临时表在外检表插入前插入主键表
    在SQLServer中,你可以使用触发器(trigger)来在插入学生信息之前,根据班级名称在班级表中插入相应的班级记录。这通常涉及到两步:首先,检查班级表中是否已存在相应的班级;如果不存在,则插入;然后,允许插入学生记录。下面是一个示例,展示如何创建这样的触发器:假设你有两个表:Students 和 C......
  • Python/Go 面试题目整理
    目录一、Python基础知识1.1可变与不可变数据类型1.8深浅拷贝1.2PEP8编程规范1.3匿名函数1.4装饰器1.5迭代器1.6生成器1.7面向对象编程思想1.7.1Python中的__new__和__init__的区别1.7.2反射1.7.3面向对象1.7.4鸭子类型1.7.5你对Python的继承怎么看?1.9GC机制1.10......
  • 蟒蛇书(Python编程:从入门到实践)第17章使用API 17.1.4处理API响应报错Caused by ProxyEr
    书上提供的原始代码:importrequests#执行API调用并存储响应url='https://api.github.com/search/repositories?q=language:python&sort=stars'headers={'Accept':'application/vnd.github.v3+json'}r=requests.get(url,headers=headers)prin......
  • 【Azure Storage Account】Azure 存储服务计算Blob的数量和大小的Python代码
    问题描述介绍一段Python脚本,可以在微软云中国区使用。用于计算AzureStorageAccount中Container中Blob类型文件的数量和大小,脚本中允许按照容器,层(热/冷/归档),前缀,软删除/非软删除来计算数量和容量大小,默认使用的时间为以Blob的最后修改时间作为参考。执行结果参考: 参数......
  • 机器学习中的正则化技术——Python实现
    在机器学习中,我们非常关心模型的预测能力,即模型在新数据上的表现,而不希望过拟合现象的的发生,我们通常使用正则化(regularization)技术来防止过拟合情况。正则化是机器学习中通过显式的控制模型复杂度来避免模型过拟合、确保泛化能力的一种有效方式。如果将模型原始的假设空间比作“......
  • 在SQLServer中使用SQL语句插入数据出现乱码或问号的解决方法
    原文链接:https://www.cnblogs.com/net5x/p/12430808.html错误产生的原因:        出现使用SQL语句插入数据出现乱码或问号是由于数据库属性的排序规则设置不正确.解决方法:方法一:手动修改(设置数据库的排序规则)注意事项:要确定修改的数据库没有被使用,否则会失败!具体步骤......