Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django和oracle TypeError:环境只能包含字符串_Django_Oracle - Fatal编程技术网

Django和oracle TypeError:环境只能包含字符串

Django和oracle TypeError:环境只能包含字符串,django,oracle,Django,Oracle,我有一个项目需要连接到oracle数据库 当我使用sqlite3时,默认情况下它会带来以下字符串: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } DATABASES = { 'default': { 'ENGINE': 'django.d

我有一个项目需要连接到oracle数据库

当我使用sqlite3时,默认情况下它会带来以下字符串:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.oracle',
        'NAME': 'DBARS_PROD',
        'USER': 'userhere',
        'PASSWORD': 'passhere',


        }
}
应用程序可以正常工作,但当我使用以下字符串与oracle连接时:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.oracle',
        'NAME': 'DBARS_PROD',
        'USER': 'userhere',
        'PASSWORD': 'passhere',


        }
}
Django给了我以下错误:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\core\management\__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\core\management\__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\core\management\commands\runserver.py", line 62, in execute
    super(Command, self).execute(*args, **options)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\core\management\commands\runserver.py", line 101, in handle
    self.run(**options)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\core\management\commands\runserver.py", line 110, in run
    autoreload.main(self.inner_run, None, options)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\utils\autoreload.py", line 332, in main
    reloader(wrapped_main_func, args, kwargs)
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\utils\autoreload.py", line 303, in python_reloader
    exit_code = restart_with_reloader()
  File "C:\Users\nbueno\Envs\nworksdev\lib\site-packages\django\utils\autoreload.py", line 289, in restart_with_reloader
    exit_code = subprocess.call(args, env=new_environ)
  File "c:\python27\Lib\subprocess.py", line 523, in call
    return Popen(*popenargs, **kwargs).wait()
  File "c:\python27\Lib\subprocess.py", line 711, in __init__
    errread, errwrite)
  File "c:\python27\Lib\subprocess.py", line 959, in _execute_child
    startupinfo)
TypeError: environment can only contain strings

似乎当django查询oracle时,它返回的是unicode而不是字符串。或者有人知道该怎么做吗?

我已经找到了解决方案,显然是驱动程序cx_oracle在其最新版本6.0b1中。。。我遇到了连接问题,我只是再次降级到5.2,一切正常

我已经找到了解决方案,显然是驱动程序cx_oracle在其最新版本6.0b1中。。。我的连接有问题,我只是再次降级到5.2,一切正常