捕获python cx_Oracle DatabaseError DPI-1004:无法获取错误消息

时间:2018-03-16 15:30:26

标签: python python-3.x sqlalchemy cx-oracle

我使用SQLAlchemy的cx_Oracle驱动程序来创建引擎。 成功地创造了如下:

conn_string = 'oracle+cx_oracle://user:pass@host:1521/?service_name=some_service'
eng = create_engine(conn_string, encoding='utf8')

当我尝试连接时:

eng.connect()

我发现错误:

DatabaseError: (cx_Oracle.DatabaseError) DPI-1004: unable to get error message

使用:

Python 3.5.2
cx-Oracle (6.2.1)  
SQLAlchemy (1.1.15)

有人知道解决方案吗?

2 个答案:

答案 0 :(得分:0)

运行如下所示的脚本以确定问题的根源:

import cx_Oracle

try:
    cx_Oracle.connect("user/pw@dsn")
except cx_Oracle.DatabaseError as e:
    obj, = e.args
    print("Context:", obj.context)
    print("Message:", obj.message)

答案 1 :(得分:0)

问题解决了。 它需要在创建引擎中提供完整的TNS sting:

{
"name": "magento/project-community-edition",
"description": "eCommerce Platform for Growth (Community Edition)",
"type": "project",
"version": "2.1.11",
"license": [
    "OSL-3.0",
    "AFL-3.0"
],
"require": {
    "magento/product-community-edition": "2.1.12",
    "composer/composer": "@alpha",
    "magepal/magento2-customshippingrate": "^1.3",
    "mestrona/magento-module-categoryredirect": "^2.1",
    "amzn/amazon-pay-and-login-with-amazon-core-module": "1.2.5",
    "amzn/login-with-amazon-module": "1.2.5",
    "amzn/amazon-pay-module": "1.2.5"
},
"require-dev": {
    "phpunit/phpunit": "4.1.0",
    "squizlabs/php_codesniffer": "1.5.3",
    "phpmd/phpmd": "@stable",
    "pdepend/pdepend": "2.4.0",
    "fabpot/php-cs-fixer": "~1.2",
    "lusitanian/oauth": "~0.3 <=0.7.0",
    "sebastian/phpcpd": "2.0.0"
},
"config": {
    "use-include-path": true
},
"autoload": {
    "psr-4": {
        "Magento\\Framework\\": "lib/internal/Magento/Framework/",
        "Magento\\Setup\\": "setup/src/Magento/Setup/",
        "Magento\\": "app/code/Magento/"
    },
    "psr-0": {
        "": "app/code/"
    },
    "files": [
        "app/etc/NonComposerComponentRegistration.php"
    ]
},
"autoload-dev": {
    "psr-4": {
        "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
        "Magento\\Tools\\": "dev/tools/Magento/Tools/",
        "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/",
        "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/",
        "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/"
    }
},
"minimum-stability": "alpha",
"prefer-stable": true,
"repositories": [
    {
        "type": "composer",
        "url": "https://repo.magento.com/"
    }
],
"extra": {
    "magento-force": "override"
}