You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python连接Neo4j推送数据失败求助:无法获取路由信息

解决Neo4j Python驱动"Unable to retrieve routing information"错误

核心代码错误修复

你的代码存在致命的上下文管理器使用问题:with GraphDatabase.driver(URI, auth=AUTH) as driver:代码块结束后,driver会被自动关闭,但你在块外调用了driver.execute_query,此时driver已失效,必然触发连接错误。

修正后的代码需将查询逻辑放在with块内部:

import logging
from neo4j import GraphDatabase

# Set up logging
logging.basicConfig(level=logging.DEBUG)
log = logging.getLogger("neo4j")

class Neo4jService:
    def __init__(self, uri, user, password):
        self._driver = GraphDatabase.driver(uri, auth=(user, password), trust_all_certificates=True)
        
    def close(self):
        log.debug("Closing driver.")
        self._driver.close()
        
    def run_queries(self, queries):
        log.debug("Running queries.")
        with self._driver.session() as session:
            for query in queries:
                log.debug(f"Executing query: {query}")
                session.run(query)

try:
    # Initialize the Neo4j service
    URI = "neo4j+s://838f9df7.databases.neo4j.io"
    AUTH = ("neo4j", "my_password")

    log.info("Initializing driver.")
    with GraphDatabase.driver(URI, auth=AUTH, trust_all_certificates=True) as driver:
        log.info("Verifying connectivity.")
        driver.verify_connectivity()

        summary = driver.execute_query(
            "MERGE (:Person {name: $name})",
            name="Alice",
            database_="neo4j",
        ).summary

        log.info(f"Created {summary.counters.nodes_created} nodes in {summary.result_available_after} ms.")

except Exception as e:
    log.error("An error occurred:", exc_info=True)

其他排查方向

  • IP白名单验证:你使用的是Neo4j Aura云服务,需确认当前运行代码的IP地址已添加到Aura实例的允许访问列表。登录Neo4j Aura控制台,进入对应实例的「Settings」->「IP Allow List」检查并添加IP。
  • 证书信任配置:测试环境可临时添加trust_all_certificates=True参数跳过证书验证;生产环境建议配置系统可信证书,或在driver初始化时指定证书路径。
  • 版本兼容性检查:确认Python驱动版本与Neo4j Aura实例版本匹配,比如Aura 5.x需使用5.x系列的neo4j Python驱动,可通过pip install neo4j==<对应版本>指定安装。
  • 协议与端口确认:Neo4j Aura推荐使用neo4j+s://协议(默认端口7687),避免使用未加密的bolt://或存在路由风险的neo4j://。

内容的提问来源于stack exchange,提问作者Benjamin Hammond

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:38:23