2012-12-10 2 views
1

이전에 내 windows 컴퓨터에서 실행중인 apache 서버에서 내 응용 프로그램을 실행하지 않은 pyodbc 모듈로 problem을 가지고있었습니다. 난 this hint을 사용하여 아파치에서 실행되는 장고 프로젝트를 얻는 내 문제를 해결하기 위해 발견했다.Django SqlServer 부적절하게 구성되었습니다 - settings.DATABASES

하지만 지금은 조금 다른 문제에 직면하고 있습니다. django 응용 프로그램은 아파치에서 실행되지만 페이지에이 오류가 발생합니다.

ImproperlyConfigured at /auth/login/ 
settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

그냥 djangos 붙박이 서버를 통해 배포 할 때이 프로젝트가 완벽하게 실행 명확합니다.이 내 데이터베이스 연결이 settings.py에서 같은 모습입니다

DATABASES = { 
    'default': { 
     'ENGINE': 'sql_server.pyodbc', 
     'NAME': 'myDbName', 
     'USER': 'myusername',  
     'PASSWORD': '', 
     'HOST': '', 
     'OPTIONS' : { 
      'driver': 'SQL Native Client', 
      'dsn': 'test', 
      'MARS_Connection': True, 
     }, 
    },  
} 

UPDATE :

내가 Django MSSQL Documentation에 따라 내 코드를 업데이트 몇 가지 문제에 달려 내 pywin32을 업데이트하여 작동하도록 있어요 그리고 다시는 나에게 같은 ImproperlyConfigured 오류

DATABASES = { 
    'default': { 
     'NAME': 'myDbName', 
     'ENGINE': 'sqlserver_ado', 
     'HOST': 'MYHOST', 
     'USER': 'myusername', 
     'PASSWORD': 'mypassword', 
     'OPTIONS' : { 
      'provider': 'SQLNCLI11', 
      'use_mars': False, 
     }, 
    } 
} 
,369을 제공 djangos 붙박이 서버 및 NOT APACHE에서 작동

내 시스템 - 윈도우 7, 아파치 2.2, 파이썬 2.7, django 1.4.2, pyodbc-3.0.6.win32-py2.7

어떤 힌트 나 팁이 있으면 크게 appriciated, 나는 이 프로젝트는 지금 당분간은 시작되어 실행됩니다.

덕분에

+0

동일한 기계에서 동일한 Python 패키지에 액세스 할 수 있습니까? –

+0

예, 이전에 데모 장고 앱을 만들었습니다. "성공했습니다! 첫 번째 장고 페이지로 축하합니다." 그들은 아파치를 사용하여 완벽하게 달렸다. – shabeer90

+0

그런 경우 다른 데이터베이스 엔진을 사용하고 있습니까? –

답변

0

내 질문에 대한 대답은 내 컴퓨터에서 작동하는 방법 인 것 같습니다.

내가 가진 주된 문제점은 내 DSN이 장고 프로젝트와 연결되지 않았다는 점이었습니다. 아래에서 언급 한 단계에서 작업을 완료하는 데있어서 전체적인 차이를 만든 마지막 단계입니다. 이전에 "통합 Windows 인증 있음"을 선택했지만 DSN을 만들었지 만 놀라 울 정도로 djangos inbuilt 서버를 사용하여 실행했을 때 작동했습니다.

  • Windows 7 (시작 메뉴에서 ODBC 검색)에서 app ODBC 데이터 소스 관리자를 엽니 다.
  • 시스템 DSN 탭에서 추가 단추를 클릭하십시오.
  • SQL Server Native Client 10을 선택하십시오.0
  • 이 DSN your_dsn_name, 설명 (선택 사항)을 연결하는 SQL 서버를 입력, "사용자가 입력 한 로그인 ID 및 암호를 사용하여 SQL Server 인증으로"다음
  • 선택 옵션을 클릭합니다.
  • 로그인 ID ('your_username')와 비밀번호 ('your_password')를 입력하십시오. 다음, 다음 및 마침을 클릭하십시오.

와 나는 내가이 문제를 해결 도움이 모든 사람에게 원래의 코드로 다시

DATABASES = { 
    'default': { 
     'ENGINE': 'sql_server.pyodbc', 
     'NAME': 'MaDaMa_App', 
     'USER': 'your_username', 
     'PASSWORD': 'your_password', 
     'HOST': 'MYHOST', 
     'OPTIONS' : { 
      'driver': 'SQL Native Client', 
      'dsn': 'your_dsn_name', 
      'MARS_Connection': True, 
     }, 
    }, 
} 

덕분에 내 데이터베이스 연결을 변경하고,이 밖에 누군가를 위해 helpfull 바랍니다.

건배

1

당신이 내장 된 백엔드, 당신은 데이터베이스 엔진을 지정해야합니다 사용하는 경우 작정 아래로 :

'ENGINE':'django.db.backends.mysql' 

당신이 내장 된 백엔드 당신이를 지정해야 사용하지 않는 경우 ENGINE 설정의 정규화 된 경로 (즉, mypackage.backends.whatever). django documentation here에 주어진 데이터베이스 백엔드 정의 정보.

업데이트 :
당신은 장고와 SQL 서버를 사용하고 명확한 문서가 here in readthedocs로 볼 수 있습니다 django-mssql를 사용하여 시도 할 수 있습니다.

+0

mysql이 아닌 "sql-server"백엔드를 사용하고 있습니다. 'ENGINE'사용 : 'sql_server.pyodbc'는 djangos의 inbuilt 서버로 프로젝트를 실행할 때 작동합니다. – shabeer90

+0

@ shabeer90 내장 된 백엔드를 사용하지 않는 경우, 사용할 패키지의 정확한 위치를 지정해야합니다. – arulmr

+0

할 수있는 방법에 대한 힌트가 있습니까 – shabeer90