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

2020-08-15 23:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 我有一个python数据框,我...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)



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

我已经尝试过此代码:

 从sqlalchemy导入create_engine
 引擎= create_engine('hana + pyhdb://username:password@example.com:port')
 my_df = pd.DataFrame([[1,2],[3,4],[5,6],[7,8]],列= [" A"," B"])
 my_df.to_sql('table_name',con = engine,index = False,if_exists ='replace') 

错误:DBAPIError:(hdbcli.dbapi.Error)(4321,"仅允许安全连接")(此错误的背景在于: http://sqlalche.me/e/dbapi *

这是关于添加SSL证书的吗? 如何在引擎中添加它?

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

  conn = dbapi.connect(
     地址="主机",
     port = portnr,
     crypto =" true",
     user =" user",
     password =" pwd") 

但是,如果我在此处传递此连接对象:

  my_df.to_sql('table_name',con = conn,index = False,if_exists ='replace') 

我仍然会收到错误消息。 该如何解决?

3条回答
小熊yu生菜
2020-08-15 23:17

嗨,严厉,

您还可以通过连接字符串(即create_engine的参数)传递crypto参数。 您可以从 Jupyter笔记本 以" hraf=" https://blogs.sap.com/2020/06/24/on-machine-learning-without-location-data/">此博客为例。

相关部分:

 connection_string ='hana://%s:%s @%s:%s/?encrypt = true&sslvalidatecertificate = false'%(hdb_user,hdb_password,hdb_host,hdb_port)

关于,
Mathias

一周热门 更多>