惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
C
Check Point Blog
B
Blog RSS Feed
G
Google Developers Blog
H
Help Net Security
博客园 - Franky
Blog — PlanetScale
Blog — PlanetScale
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Recent Announcements
Recent Announcements
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
小众软件
小众软件
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
T
Tailwind CSS Blog
J
Java Code Geeks
MyScale Blog
MyScale Blog
雷峰网
雷峰网
有赞技术团队
有赞技术团队
博客园 - 聂微东

博客园 - pccai

Matlab R2023b全家桶docker镜像下载 在Docker中安装PostgreSQL的ODBC驱动并添加Python测试代码 在Docker中安装MySQL的ODBC驱动并添加Python测试代码 在Docker中安装SQL Server的ODBC驱动并添加Python测试代码 Microsoft.AspNetCore.SignalR.Client中传送用户Token U8二次开发-钉钉集成 U8二次开发CO-基于Net8调用COM对象 Net7升级到Net8相关问题 .NET Core MemoryCache缓存批量获取Key或者删除 .NET中反射和动态表达式的分析和比较 NLog整合ExceptionLess如何映射当前用户身份 SkiaSharp库在NetCore下跨平台图片操作基础使用方法 NetCore使用SkiaSharp库对给定路径的图片进行大小缩放,要适当考虑等比率缩放,以高度为准,宽度自适应 VS2022下nuget包同步失败,提示: PackageSourceMapping 已启用,未考虑以下源: ** SonarQube-7.7到9.9社区版本默认数据库H2连接方法 使用 pip 出现 Script file ‘C:\Anaconda3\Scripts\pip-script.py‘ is not present 错误解决办法 - pccai 让简易流行的FRP支持Nginx转发SSE“打字效果” 使用LxRunOffline迁移Windows10启用的WSL默认虚拟磁盘位置 MAUI开发迁移AVD默认位置释放C盘空间
在Docker中安装GaussDB的ODBC驱动并添加Python测试代码
pccai · 2024-05-21 · via 博客园 - pccai

# 使用官方的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/*

# 下载并安装 GaussDB ODBC 驱动
RUN wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/Ubuntu18.04/openGauss-odbc_2.0.0_amd64.deb && \
dpkg -i openGauss-odbc_2.0.0_amd64.deb && \
rm openGauss-odbc_2.0.0_amd64.deb

# 配置 ODBC 驱动
RUN echo "[GaussDB]" > /etc/odbcinst.ini && \
echo "Description = GaussDB ODBC Driver" >> /etc/odbcinst.ini && \
echo "Driver = /usr/local/gaussdb/lib/libodbcpsql.so" >> /etc/odbcinst.ini

# 配置 ODBC 数据源
RUN echo "[GaussDBDataSource]" > /etc/odbc.ini && \
echo "Driver = GaussDB" >> /etc/odbc.ini && \
echo "Servername = your_gaussdb_server" >> /etc/odbc.ini && \
echo "Port = 5432" >> /etc/odbc.ini && \
echo "Database = testdb" >> /etc/odbc.ini && \
echo "Username = your_user" >> /etc/odbc.ini && \
echo "Password = your_password" >> /etc/odbc.ini

# 安装 pyodbc 用于测试连接
RUN pip3 install pyodbc

# 添加测试脚本
COPY test_odbc.py /test_odbc.py

# 设置默认命令
CMD ["python3", "/test_odbc.py"]


import pyodbc

# 配置数据库连接
dsn = 'GaussDBDataSource'
user = 'your_user'
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}")