首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在hana数据库中插入和检索python数据

在hana数据库中插入和检索python数据
EN

Stack Overflow用户
提问于 2020-07-02 04:54:36
回答 1查看 710关注 0票数 0

我有一个,我想直接插入HANA数据库,也想从数据库中读取它。

我试过这样的代码:

代码语言:javascript
运行
复制
from sqlalchemy import create_engine
engine = create_engine('hana+pyhdb://username:password@example.com:port')
my_df = pd.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], columns=["A", "B"])
my_df.to_sql('table_name', con = engine, index = False, if_exists = 'replace')

错误: DBAPIError:(hdbcli.dbapi.Error) (4321,“只允许安全连接”)(有关此错误的背景位置为:

是关于添加ssl证书的吗?如何将其添加到引擎中?

但是,我可以使用encrypt选项通过Python连接OK:

代码语言:javascript
运行
复制
conn = dbapi.connect(
    address="host",
    port=portnr,
    encrypt="true",
    user="user",
    password="pwd"
)

但是,如果我在这里传递这个连接对象:

代码语言:javascript
运行
复制
my_df.to_sql('table_name', con = conn, index = False, if_exists = 'replace')

我还是会出错的。怎么解决这个问题?

EN

Stack Overflow用户

发布于 2021-07-26 06:39:31

您正在使用的HANA DB启用了安全连接。因此,您需要在连接URL中传递encrypt=true。如果证书是自签名的,那么很多人都需要通过添加sslvalidatecertificate=false来忽略它

尝试以下几个方面:

代码语言:javascript
运行
复制
connection_string = 'hana://%s:%s@%s:%s/?encrypt=true&sslvalidatecertificate=false' % (hdb_user, hdb_password, hdb_host, hdb_port)
engine = create_engine(connection_string)
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62689262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档