我试图创建一个连接到一个oracle db实例(oracle:薄)使用Airflow。
根据他们的文档,我输入了我的主机名,后跟端口号和SID:
主持人:举个例子。通讯:1524/sid
填写其他字段为:
控制类型:甲骨文
模式:用户名(文档说明:使用您的用户名作为模式)
登录:用户名
密码: * * *
建立连接后,它会为我尝试执行的每个查询(ORA-12514)提供保存错误代码。甲骨文似乎不让气流连接:
ORA-12514: TNS:侦听器当前不知道连接描述符中请求的服务
以前有人遇到过同样的问题吗?我的意思是,对于这样一个大平台来说,连接到数据库不应该是个问题。或者我可能做错了什么。谢谢
版本:气流v1。7.0,Oracle11g
编辑:
对于服务名称的使用,如果将(端口、架构和额外)留空,可以将完整的oracle连接描述符放在主机下:
说明:地址=(协议=TCP)(主机=localhost)(端口=1521)(CONNECT_DATA=(服务器=指定)(SERVICE_NAME=mysidname))
您的连接设置有问题,或者您的设置没有正确加载到oracle挂钩,或者您缺少保存/加载连接设置的python包。你可以通过硬编码你的证书来测试它。
https://github.com/airbnb/airflow/blob/master/airflow/hooks/oracle_hook.py
conn = self.get_connection(self.oracle_conn_id)
dsn = conn.extra_dejson.get('dsn', None)
sid = conn.extra_dejson.get('sid', None)
service_name = conn.extra_dejson.get('service_name', None)
if dsn and sid and not service_name:
dsn = cx_Oracle.makedsn(dsn, conn.port, sid)
conn = cx_Oracle.connect(conn.login, conn.password, dsn=dsn)
elif dsn and service_name and not sid:
dsn = cx_Oracle.makedsn(dsn, conn.port, service_name=service_name)
conn = cx_Oracle.connect(conn.login, conn.password, dsn=dsn)
else:
conn = cx_Oracle.connect(conn.login, conn.password, conn.host)
在深入研究了源代码之后,我终于明白了它的工作原理:
控制类型:甲骨文
主持人:举个例子。通用域名格式
模式:用户名
登录:用户名
端口:端口号
额外:{“sid”:“我的sid”,“dsn”:“example.com”}
主要内容:使用SQL * Plus连接到Oracle数据库服务器,使用SQL Developer连接到Oracle数据库服务器在本教程中,您将学习如何使用和SQL Developer 工具连接到Oracle数据库服务器。 使用SQL * Plus连接到Oracle数据库服务器 是安装Oracle数据库服务器或客户端时自动安装的交互式查询工具。 有一个命令行界面,允许您连接到Oracle数据库服务器并交互执行语句。 注意:如果有使用过MySQL或PostgreSQL,与MySQL中的mysql程序
这是我得到的错误: 我用*替换了一些细节,因为这是学校的数据库。
我无法连接到我的。这是代码: 我得到了这个信息: 在学校,这个例子是有效的。问题出在哪里??
问题内容: 使用SQL检查Oracle数据库允许的最大连接数的最佳方法是什么?最后,我想显示当前的会话数和允许的总数,例如“当前使用80个连接中的23个”。 问题答案: 确定Oracle数据库支持的连接数时可能会有一些不同的限制。最简单的方法是使用SESSIONS参数和V $ SESSION,即 数据库配置为允许的会话数 当前活动的会话数 但是,正如我所说,在数据库级别和操作系统级别,以及是否已配
我正在尝试使用SpringBoot连接MySQL数据库,但我遇到以下错误: 应用程序无法以类路径启动:[文件:/C:/Dev/Repositorios/jira quality/target/classes/,文件:/C:/Users/jboscod/.m2/repository/mysql/mysql连接器java/8.0.21/mysql-connector-java-8.0.21.jar,文
问题内容: 我正在尝试从Windows 7中的Node.js连接到Oracle数据库。这可能吗?我尚未找到适用于Windows的Node.js插件。有建议的解决方法吗?我猜至少还有一个人想要在Windows上使用Node.js,并且需要连接到Oracle。如果需要的话,我愿意接受简单的解决方法。谢谢您的帮助。 问题答案: 您需要直接从Node.js连接到oracle吗?您可以用另一种语言编写数据库