Skip to main content

SAP HANA Python Client

Project description

Introduction

The Python Database API Specification v2.0 (PEP 249) defines a set of methods that provides a consistent database interface independent of the actual database being used. The Python extension module for SAP HANA implements PEP 249. Once you install the module, you can access and change the information in SAP HANA databases from Python.

In PEP 249, autocommit is turned off by default. In the SAP HANA Python driver, autocommit is turned on by default.

For information, see: PEP 249 – Python Database API Specification v2.0

Getting Started

Install via pip install hdbcli or install manually via the HANA Client Install

Quick Start

  • For HANA Cloud databases, the port number is 443 and encryption is always enabled by default

  • For HANA tenant databases, use the port number 3**NN**13 (where NN is the SAP instance number - e.g. 30013).

  • For HANA system databases in a multitenant system, the port number is 3**NN**13.

  • For HANA single-tenant databases, the port number is 3**NN**15.

from hdbcli import dbapi
conn = dbapi.connect(
    address="<hostname>",
    port=3<NN>MM,
    user="<username>",
    password="<password>"
)
cursor = conn.cursor()

Execute a single statement that does not return a result set:

cursor.execute("CREATE TABLE T1 (ID INTEGER PRIMARY KEY, C2 VARCHAR(255))")
cursor.close()

Use question mark parameter binding to insert values into the T1 table created above. The parameter values are supplied as a Python sequence and can be literal values or variable names. This example uses literal values:

sql = 'INSERT INTO T1 (ID, C2) VALUES (?, ?)'
cursor = conn.cursor()
cursor.execute(sql, (1, 'hello'))
# returns True
cursor.execute(sql, (2, 'hello again'))
# returns True
cursor.close()

Use named parameter binding to insert values into the T1 table. The values are supplied as a Python dictionary, and this example uses variable names.

sql = 'INSERT INTO T1 (ID, C2) VALUES (:id, :c2)'
cursor = conn.cursor()
id = 3
c2 = "goodbye"
cursor.execute(sql, {"id": id, "c2": c2})
# returns True
cursor.close()

Loop over the rows of the result set.

sql = 'SELECT * FROM T1'
cursor = conn.cursor()
cursor.execute(sql)
for row in cursor:
    print(row)

Help

See the SAP HANA Client Interface Programming Reference for details about developing with the SAP HANA Python Client.

Community

SAP Community provides a forum where you can ask and answer questions, and comment and vote on the questions of others and their answers.

See SAP HANA Community Questions for details.

Limitations of 32-bit Windows driver

The maximum length of a LOB column for the 32-bit Python driver on Windows is 2147483647. The maximum rowcount that can be returned for the 32-bit Python driver on Windows is 2147483647.

License

The HANA Python Client is provided via the SAP Developer License Agreement.

By using this software, you agree that the following text is incorporated into the terms of the Developer Agreement:

If you are an existing SAP customer for On Premise software, your use of this current software is also covered by the terms of your software license agreement with SAP, including the Use Rights, the current version of which can be found at: https://www.sap.com/about/agreements/product-use-and-support-terms.html?tag=agreements:product-use-support-terms/on-premise-software/software-use-rights

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

hdbcli-2.23.24-cp38-abi3-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

hdbcli-2.23.24-cp36-abi3-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.6+Windows x86-64

hdbcli-2.23.24-cp36-abi3-win32.whl (3.6 MB view details)

Uploaded CPython 3.6+Windows x86

hdbcli-2.23.24-cp36-abi3-manylinux2014_aarch64.whl (11.2 MB view details)

Uploaded CPython 3.6+

hdbcli-2.23.24-cp34-abi3-manylinux2014_ppc64le.whl (11.3 MB view details)

Uploaded CPython 3.4+

hdbcli-2.23.24-cp34-abi3-manylinux1_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.4+

hdbcli-2.23.24-cp34-abi3-macosx_10_11_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.4+macOS 10.11+ x86-64

File details

Details for the file hdbcli-2.23.24-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hdbcli-2.23.24-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ba59f989026c4fac435e6aa893f46d22cfbf058597cade104e54b41e269e9f6
MD5 1f947dd6a403bfc43d3695cf2c2c418a
BLAKE2b-256 9022c743fc44d61a647d484455034c4a65819b3e0bd81ebc71fa12bc2cfb53eb

See more details on using hashes here.

File details

Details for the file hdbcli-2.23.24-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: hdbcli-2.23.24-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.1

File hashes

Hashes for hdbcli-2.23.24-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 64d1af072e1df9e563d1406e73951f6910a340ce76ad064baa772f46d86870e2
MD5 e69658228b629018916a0b772be2ff14
BLAKE2b-256 000c68412a593f716e996ef048b911f2b17b5d7e452781551fbcf9cc09c76d70

See more details on using hashes here.

File details

Details for the file hdbcli-2.23.24-cp36-abi3-win32.whl.

File metadata

  • Download URL: hdbcli-2.23.24-cp36-abi3-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.1

File hashes

Hashes for hdbcli-2.23.24-cp36-abi3-win32.whl
Algorithm Hash digest
SHA256 a8d85b1bae1b4f45f592c2b89b10830f5c137fd4cfcfb953228e03f4133e0cad
MD5 ea74c3c4d588df8540631661c2795eed
BLAKE2b-256 fd11b697b1b858a8af61500453ff3f48513cf8cbb0eff755640b7f2eab499020

See more details on using hashes here.

File details

Details for the file hdbcli-2.23.24-cp36-abi3-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hdbcli-2.23.24-cp36-abi3-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7532264d19eab11eefae3b8c12e01c213172ca65255800ec5e9321a12c1023e7
MD5 0916c5803e1e4b3686eb8d970805d1a5
BLAKE2b-256 1e0317fa43ba73883c185c8312db01509ed599ef4e399f12089a5ea90d4f2794

See more details on using hashes here.

File details

Details for the file hdbcli-2.23.24-cp34-abi3-manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for hdbcli-2.23.24-cp34-abi3-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7ec2627a1ef396ae318db675e18de08a614c8a5dd3c052735e14c0d4fee2575e
MD5 e2109447782d32f7766e64fdc5db9969
BLAKE2b-256 ad4c6eed95c0df6d3c1db87b02bcc538385418c3c39a1c2f9f279eed9cf5960e

See more details on using hashes here.

File details

Details for the file hdbcli-2.23.24-cp34-abi3-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for hdbcli-2.23.24-cp34-abi3-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8d21fd843ac5272119d769903d46362d47931851abc9143027ce0d50b4d97443
MD5 f44269d40bc2a813b676098446a4e227
BLAKE2b-256 8bb594756b91cb4d203f992dcd811f121a5ab90b498963bcda30250c07f581cf

See more details on using hashes here.

File details

Details for the file hdbcli-2.23.24-cp34-abi3-macosx_10_11_x86_64.whl.

File metadata

File hashes

Hashes for hdbcli-2.23.24-cp34-abi3-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 85c6dab1a17e69e0f5bdd756bb2d0fb49fe5fd9ebad8d4abc083be7d4adf12aa
MD5 cc62327179e44a4473bac1e278405c1e
BLAKE2b-256 91840b0fbc42a317c43729830e89e5a87d44253625b1b6d0d69bf4a53019cbb0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page