Python连接oracle数据库 例子一

系统 2645 0

 

 

 

 

 

 

 

step1:下载cx_Oracle模块,cmd--pip install cx_Oracle

Python连接oracle数据库 例子一_第1张图片

step2:

复制代码
            
              1 
              
                import cx_Oracle                                                
                
                  #
                  
                    引用模块cx_Oracle

                    
                      2 conn=cx_Oracle.connect(
                      
                        '
                        
                          truck/******@10.74.**.**:****/****
                          
                            ') 
                            
                              #
                              
                                连接数据库 
                                
                                  3 c=conn.cursor() 
                                  
                                    #
                                    
                                      获取cursor 
                                      
                                        4 x=c.execute(
                                        
                                          '
                                          
                                            select sysdate from dual
                                            
                                              ') 
                                              
                                                #
                                                
                                                  使用cursor进行各种操作 
                                                  
                                                    5 
                                                    
                                                      x.fetchone() 
                                                      
                                                        6 c.close() 
                                                        
                                                          #
                                                          
                                                            关闭cursor 
                                                            
                                                              7 conn.close() 
                                                              
                                                                #
                                                                
                                                                  关闭连接
                                                                
                                                              
                                                            
                                                          
                                                        
                                                      
                                                    
                                                  
                                                
                                              
                                            
                                          
                                        
                                      
                                    
                                  
                                
                              
                            
                          
                        
                      
                    
                  
                
              
            
          
复制代码

报错:cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "The specified module could not be found".

原因:本机装的Python、cx_Oracle都是64位的,Navicat连接的Oracle instantclient版本为32位的,所以连接报错。

解决方案:下载64位 instantclient---http://jvniu.jb51.net:81/201708/tools/instantclientx64_jb51.rar   或者  http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

操作:下载结束后,解压至  Navicat根目录,添加环境变量,重启连接脚本。

报错:listener does not currently know of service requested in connect descriptor

原因:参数理解错误

            
              #
              
                conn=cx_Oracle.connect(‘用户名/密码@主机ip地址:端口号/Service Name(SID)') 
conn=cx_Oracle.connect(
                
                  '
                  
                    truck/******@10.74.**.**:****/****
                    
                      ') 
                    
                  
                
              
            
          

正确输入参数之后,数据库连接成功

 Python连接Oracle如果有中文,可能会出乱码,可通过以下方法解决

            
              1 
              
                import
                
                   os

                  
                    2 os.environ[
                    
                      '
                      
                        NLS_LANG
                        
                          '] = 
                          
                            '
                            
                              SIMPLIFIED CHINESE_CHINA.UTF8
                              
                                '
                              
                            
                          
                        
                      
                    
                  
                
              
            
          

同时,在Python脚本中,添加一行代码

            
              #
              
                 -*- coding: utf-8 -*-
              
            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论