2010-12-02 58 views
8

每當我試着像python manage.py syncdb運行命令,我收到以下錯誤:不能使用Django連接到Oracle數據庫在Ubuntu

 
Traceback (most recent call last): 
    File "manage.py", line 11, in 
    execute_manager(settings) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager 
    utility.execute() 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/core/management/__init__.py", line 261, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/south/management/commands/__init__.py", line 10, in 
    import django.template.loaders.app_directories 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/template/loaders/app_directories.py", line 21, in 
    mod = import_module(app) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/contrib/admin/__init__.py", line 1, in 
    from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/contrib/admin/helpers.py", line 1, in 
    from django import forms 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/forms/__init__.py", line 17, in 
    from models import * 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/forms/models.py", line 6, in 
    from django.db import connections 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/db/__init__.py", line 77, in 
    connection = connections[DEFAULT_DB_ALIAS] 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend 
    return import_module('.base', backend_name) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/damon/Workspace/django-projects/acm-cie/env/lib/python2.6/site-packages/django/db/backends/oracle/base.py", line 24, in 
    raise ImproperlyConfigured("Error loading cx_Oracle module: %s" % e) 
django.core.exceptions.ImproperlyConfigured: Error loading cx_Oracle module: libclntsh.so.11.1: cannot open shared object file: No such file or directory 

這是分辨在Ubuntu?

+0

您的Ubuntu是64位安裝嗎? – Sathya 2010-12-02 17:25:14

回答

-1

嘗試的easy_install cx_Oracle,它將從源代碼編譯第一​​

0

第一件事cx_Oracle模塊 - 這是實際上是一個Django的問題,或者只是一個cx_Oracle問題? cx_Oracle是否正確安裝?你能在Python shell會話中連接到你的Oracle數據庫嗎?

import cx_Oracle 
conn = cx_Oracle.connect('/') # user/[email protected] 
cursor = conn.cursor() 

如果這不會引發異常,則說明您已成功連接。

5

您需要安裝cx_Oracle和Oracle客戶端。

cx_Oracle可以是found here

適當的Oracle客戶端可以是found here

在啓動應用程序之前,您還需要設置LD_LIBRARY_PATH變量。這通常可以完成(例如):

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib 

現在您應該能夠通過cx_Oracle錯誤消息。