簡體   English   中英

使用 pyodbc 連接到 Oracle 數據庫

[英]Connect to Oracle database using pyodbc

我想通過pyodbc用python連接到Oracle數據庫。 我已經安裝了 oracle 驅動程序並嘗試了以下腳本:

import pyodbc
connectString = """
                DRIVER={Oracle in OraClient12Home1};
                SERVER=some_oracle_db.com:1521;
                SID=oracle_test;
                UID=user_name;
                PWD=user_pass
                """
cnxn = pyodbc.connect(connectString)

我收到以下錯誤消息:

cnxn = pyodbc.connect(connectString)

Error: ('HY000', '[HY000] [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter error\n (12560) (SQLDriverConnect)')

這里有什么問題?

為什么關鍵字DBQ有效而SID / Service Name無效,請參閱 Oracle 12c 文檔中21.4.1 Format of the Connection String部分。 https://docs.oracle.com/database/121/ADFNS/adfns_odbc.htm#ADFNS1183/

keywords for odbc oracle 12c

看起來你缺少一個端口

試試這個方法

注意:根據您的服務器,語法可能會有所不同,這適用於沒有使用 SQL Server 驅動程序的 DSN 的 Windows。

connectString = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;PORT=1433;DATABASE=testdb;UID=me;PWD=pass')

這是連接,您仍然需要一個游標並使用執行和 SQL 語句..

您必須在數據庫服務器正在運行的連接字符串中指定服務器或主機名(或 IP 地址)。

很近...

connectString = """
        DRIVER={Oracle in OraClient12Home1};
        SERVER=some_oracle_db.com:1521;
        DBQ=oracle_test;
        Uid=user_name;
        Pwd=user_name
        """

我用 DBQ 替換了 SID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM