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.28.20-cp38-abi3-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.8+Windows x86-64

hdbcli-2.28.20-cp38-abi3-win32.whl (3.4 MB view details)

Uploaded CPython 3.8+Windows x86

hdbcli-2.28.20-cp38-abi3-musllinux_1_2_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

hdbcli-2.28.20-cp38-abi3-manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.8+

hdbcli-2.28.20-cp38-abi3-manylinux2014_ppc64le.whl (6.1 MB view details)

Uploaded CPython 3.8+

hdbcli-2.28.20-cp38-abi3-manylinux2014_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.8+

hdbcli-2.28.20-cp38-abi3-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

hdbcli-2.28.20-cp38-abi3-macosx_10_15_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.8+macOS 10.15+ x86-64

File details

Details for the file hdbcli-2.28.20-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: hdbcli-2.28.20-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 17d78b93f3e19d146ba8a5cb0581e37c70f181932ce5ddbf4cd984f494f5a9cc
MD5 6b28c6cfe94c6f799034ab19e25b5e9b
BLAKE2b-256 1c6692cf6bb0b892e49c8edca85e4a2679d43303625092065fc0dcda81322e97

See more details on using hashes here.

File details

Details for the file hdbcli-2.28.20-cp38-abi3-win32.whl.

File metadata

  • Download URL: hdbcli-2.28.20-cp38-abi3-win32.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 2ce1234678823f979b369c442692f2b88d640c2019bab8d16f32e4ea2df63186
MD5 8c36bb9018d6a37132db995821272c51
BLAKE2b-256 335c05f7eae8f896166aed73a549fed90a20b59afffbd3b30e1f3ed6df5a88b7

See more details on using hashes here.

File details

Details for the file hdbcli-2.28.20-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d165099c0b8ab536fe8aaa9500dbe808fffcfa010a042e1872238be0412df5fe
MD5 5d862af8c5577553c9ade3e86612b29e
BLAKE2b-256 5c7a99edb37a816641851079cfb46b4847a52132de01a65f24173cc5e64b7527

See more details on using hashes here.

File details

Details for the file hdbcli-2.28.20-cp38-abi3-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58f4b561c01d2ac4a3d63eede32888b27e880e5be79070f250db90c3cf5e3615
MD5 b5fba630030666bc248ba161c51ada73
BLAKE2b-256 13672e2c661e8a9ba75a2a63f3822cfd1435a8d2823d0ffd0668967a94822cca

See more details on using hashes here.

File details

Details for the file hdbcli-2.28.20-cp38-abi3-manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3049dffb9b0d64a87d1cf96ba0594b9e6646381388d1322f99f14c4c5e66af52
MD5 d3ad19211e11e42ea471f01314b4b182
BLAKE2b-256 4e9c8ed8f2ae14098d9e1a2b91be8c0e0b676c33eef7b91290762d964a21e353

See more details on using hashes here.

File details

Details for the file hdbcli-2.28.20-cp38-abi3-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f02611460e012bd10ce3e410672fbe69b669467d11b05d4548c7e72c475df501
MD5 38bf5e0ba0d6d2e7a027d42f84ce588e
BLAKE2b-256 ebd2ae718a76fed91c46644755a8d629a869e55e87abea46324b5357f659e19a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f23a097951965b333f3c1c73b829befa9cfd6eff8e8ef1ccc93972139107c6df
MD5 206e7694bcc1318b163846a2047a2607
BLAKE2b-256 18bbfd862f434f28ca31990f28df53bc598f85cb6876ffdcc977e87624ea9225

See more details on using hashes here.

File details

Details for the file hdbcli-2.28.20-cp38-abi3-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for hdbcli-2.28.20-cp38-abi3-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5001f31a47d7e963011f058c3713d91945bee39d078000d9d125fd7c7e51d13e
MD5 6ed2087c8cd424ab819b342af4250599
BLAKE2b-256 30248aa27da0481159a09ee76be35ac2edfa74d2c45114aafcdd2fb240d4eb16

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