python连接数据库
oracle:需要导入cx_Oracle
- 在导入cx_Oracle插件时遇到了坑:
- 版本不一致,cx_oracle的版本要与python的版本一致,都是32位或者是64位,与oracle数据库的版本要对于,是11g都得是11g,12c都得是12c;单单这一句话的要求,我不知倒腾了多少次python,cx_Oracle的版本;oracle的版本,咱们也不敢随意换啊,人家可不是好装的。
在这里提醒大家,下载的python安装,运行安装后千万不要删除,以防后边要换版本了去手动卸载,这样再次双击即可uninstall.
- 安装cx_Oracle后也成功了,但一直提示 no module named cx_Oracle;这个最烦人了,安装一个插件提示一次,有的人电脑就可以直接pip install ...;目前还没去百度搜索便捷方法,采用的是:再次在pycharm的 Settings-->Project:pythonCode-->Project Interpreter中点击最右侧的加号,去重新install对应需要的插件。也就是二次安装即可正常导入。
还有就是要提醒大家,pip这个命令一定要进行更新到最新,以为没什么事,但谁知道后边又会出现哪些莫名其妙的错误然后又是措手不及,排半天的错。
- cx_Oracle.DatabaseError: ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务:这个吧如果读懂这句话了,问题很简单,但谁让咱是小白呢。这里找到了连接oracle的服务名和oracle:F:\app\DELL\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora这个文件里的配置不一样,一般都是orcl,可配置文件里是orcl.一串数字,这应该是因为当时装oracle11g时没有直接改过来。对自己也很无语
- import cx_Oracle后,报什么TNS。。响应超时;这个我这的错误是连接oracle的
scott/123456@localhost:1521/orcl;localhost,我给写成了电脑上ipv4的地址。脑子抽筋了吧。今个就先这些吧,希望我现在入更多的坑,以后入更少的坑