2017-08-24 61 views
0

我試圖通過Python代碼連接到SAP HANA數據源。 我確實設法建立連接。我有一個原始數據串在我的代碼如下:使用不帶UID和PWD的HDODBC驅動程序連接到SAP HANA代碼

db = pyodbc.connect(driver = '{HDBODBC}', UID='username', PWD='password', SERVERNODE='server:<port_no>') 

不過,我不希望在我的字符串中的UID和PWD領域。 我在Windows上使用ODBC管理器設置了DSN連接。但是,我仍然需要輸入自己的用戶名和pwd如下:

db = pyodbc.connect(DSN="MyDSN", UID='username', PWD='password') 

我怎樣才能建立沒有我的UID和PWD連接顯示在Python代碼?

回答

0

例如在從該文件

+0

這可能工作。但是您知道Windows中可以設置可信連接或SSO的任何方式嗎?所以我不得不在某處輸入UID和PWD一次。 – hshantanu

0

此要求的安全位置和負載連接設置(UID,PWD加密的密碼(heshkod))創建文件相對容易滿足。 SAP HANA客戶端軟件(也包含ODBC驅動程序的軟件包)提供了一個程序來設置登錄數據的安全存儲:hdbuserstore

my blog我解釋了這是如何工作的細節。

的核心步驟是

  1. 創建應使用該應用程序的操作系統用戶的hdbuserstore條目。

    Syntax: hdbuserstore SET <KEY> <ENV> <USERNAME> <PASSWORD> 
    Example: hdbuserstore SET millerj "localhost:30115" JohnMiller 2wsx$RFV 
    
  2. hdbuserstore鍵需要在ODBC連接被參考。 爲此,請填寫SERVERNODE參數@<KEYNAME>而不是實際的服務器地址。
    對於上面的示例,值將是@millerj

而這就是全部。 ODBC驅動程序將嘗試查找連接時提供的hdbuserstore條目,並使用它連接到數據庫。

檢查the documentation瞭解更多信息。

相關問題