oracle连接字符串解析

      在一个基于TCP/IP协议的网络环境中,oracle数据服务器在一台计算机上,客户端在另外一台计算机上,客户端要连接到oracle服务器我们经常会输入:"C:/sqlplus scott/tiger@shanghai",这是oracle客户端连接服务器时使用的连接命令,其中sqlplus是oracle客户端程序,scott/tiger是登陆服务器的用户名和密码,@shanghai是本地网络服务名,它代表了远程数据库服务器的信息,它的另外一种叫法叫做tns服务名称。tns英文全称是transparent network substrate,译作透明网络传输底层,它是内建于oracle客户端的一个程序,它用于进行远程连接并将@shanghai翻译成有用的连接信息。一般来说客户端都有一个名称为tnsnames.ora的文件,这是一个文本文件在[oracle_home]/network/admin下面可以找到,内容如下:
SHANGHAI=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 205.220.98.96)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = Products)
    )
  )
连接oracle数据库服务器时该程序加载该文件,并将对应的tns服务名称转换成连接信息连接数据库。因此客户端程序知道该如何连接到oracle数据库了,它将打开1521端口到205.220.98.96连接的TCP/IP套接字,此时服务器端的监听程序也在运行,监听到客户端的连接后就会接受在请求,并检查连接信息是否正确及合法。连接正确则接受该请求,否则拒绝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Python 中,我们可以使用 `datetime.datetime.strptime` 函数将字符串转换为日期时间对象。具体步骤如下: 1. 导入 `datetime` 和 `cx_Oracle` 模块: ```python import datetime import cx_Oracle ``` 2. 建立连接: ```python # 建立与 Oracle 数据库连接 connection = cx_Oracle.connect('username/password@host:port/service_name') ``` 3. 获取游标: ```python # 获取游标 cursor = connection.cursor() ``` 4. 准备 SQL 语句: ```python # 准备 SQL 语句 sql = "INSERT INTO table_name(date_column) VALUES (:1)" ``` 5. 解析字符串为日期时间对象: ```python # 解析字符串为日期时间对象 date_str = "2022-01-31 12:00:00" date_obj = datetime.datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S') ``` 其中,`%Y-%m-%d %H:%M:%S` 是日期时间格式化字符串,用于指定输入的日期时间字符串的格式。 6. 执行 SQL 语句: ```python # 执行 SQL 语句 cursor.execute(sql, [date_obj]) ``` 7. 提交事务: ```python # 提交事务 connection.commit() ``` 8. 关闭游标和连接: ```python # 关闭游标和连接 cursor.close() connection.close() ``` 完整代码如下: ```python import datetime import cx_Oracle # 建立与 Oracle 数据库连接 connection = cx_Oracle.connect('username/password@host:port/service_name') # 获取游标 cursor = connection.cursor() # 准备 SQL 语句 sql = "INSERT INTO table_name(date_column) VALUES (:1)" # 解析字符串为日期时间对象 date_str = "2022-01-31 12:00:00" date_obj = datetime.datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S') # 执行 SQL 语句 cursor.execute(sql, [date_obj]) # 提交事务 connection.commit() # 关闭游标和连接 cursor.close() connection.close() ``` 注意,以上代码中的 `table_name` 和 `date_column` 需要替换为实际的表名和日期列名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值