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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

hdbcli-2.25.29-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.25.29-cp38-abi3-manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.8+

hdbcli-2.25.29-cp38-abi3-manylinux2014_ppc64le.whl (6.0 MB view details)

Uploaded CPython 3.8+

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

Uploaded CPython 3.8+

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

hdbcli-2.25.29-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.25.29-cp38-abi3-win_amd64.whl.

File metadata

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

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0e6c8f123fa9be57de8427aa5ffc17a6849094493dadc6c552c12808a56c92c5
MD5 f1b5a5851d6e32ba4441333fb84c86aa
BLAKE2b-256 f7a40ca37a3e0cf2fda6ec8cb0623ed2ace709bc00477e8e8b3e3a94bd32c2f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hdbcli-2.25.29-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.1.0 CPython/3.12.1

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 98d0860dadea1dd38b3c7b3c14ba5fbb77a0a243b2aa2c0e8b837ed569962d89
MD5 7ba6093f156ce3ac5cbbbcf66f009741
BLAKE2b-256 52acce86ef8ef62a9add1123a80daa841ec02fd90d2b8ae90017e358ffd05a8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bbed7f23c8d6514e71cc1486eef1fff2117c77459a73e3bb035246f9d6647447
MD5 fb5208a08fbf9fc026b1ddfaf313fbea
BLAKE2b-256 d2bbadd6302085c987e49b5032cdea7ccc72efdf50b8444312e1cb642c687c5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7aabc161e0f4d0fcd03a203518d50a9f6a8d83cb550e6fd48b5d0f86747c4885
MD5 5a42e85bf6db27018b266d19557901fb
BLAKE2b-256 ada0189fd05991bae2815d5fe19fc7641fc76b5b2edcbede5bf2655658d68ac7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fbc56f6f16e6eb5fb8195bad3d64038095f7ea3050d48a0995481a54f6dcb748
MD5 009c9505495c4f52b58a96e930e80796
BLAKE2b-256 27ae9b86c55dbf318bd8a162e7d93b67204537dbd873102b40a2daa5c7cdcbd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 44abac60f7437ff99ca938795d85ccd127d3fcedd7d3500ada93940e83d5dcca
MD5 e39f6d4c3da7e7b5ad6349e9af8e836e
BLAKE2b-256 6bacb0e56d694a4b45c72f5cf15fe79b8275d8c29763f38b8c9657ab78d4de73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d0b23608b1448f3108d9d7ae1761bd4207b07b186c885f025f72fdce90706a5
MD5 5b97b466c9e87748472e0466da7036f1
BLAKE2b-256 ea4af2940cb2e98dddeacc1cad1f976764ae793398a651b9f1617dbb53a158a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hdbcli-2.25.29-cp38-abi3-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 736927bf8c9787e5529b7043879a57527d9fe81e717495df8c442b083b2eb000
MD5 7d0af1ba8539355d7a87a35614ed4706
BLAKE2b-256 e65e1cdabca73ac0473f1d0f1d58f97be628afa7dbc525293df20d794ff759fe

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