2012-02-11 2 views
4

Haskell에서 Oracle Database로 작업하려고 시도했지만 이러한 문제에 직면했습니다. 그래서이 코드가 있습니다. 모듈 홈페이지 곳HDBC를 사용하는 Haskell의 Oracle Database에 연결

import Database.HDBC 
import Database.HDBC.ODBC 

main :: IO() 

main = do 
     let connectionString = "Driver={Microsoft ODBC for Oracle};Server=127.0.0.1;Uid=valera;Pwd=2562525;" 
     let ioconn = connectODBC connectionString 
     conn <- ioconn 
     vals <- quickQuery conn "SELECT * FROM PERSONS_TEST" [] 
     print vals 
     return() 

매우 간단, 응? 그러나 그것은 작동하지 않을 것입니다. 이 연결 문자열을 사용하면 오류는

*** Exception: SqlError {seState = "[\"HY090\"]", seNativeError = -1, seErrorMsg = "sqlGetInfo SQL_TXN_CAPABLE: [\"0: [Microsoft][ODBC driver for Oracle]\\65533... 

이고 그런 다음 65333 회 반복됩니다. 그리고이

Provider=msdaora;Data Source=127.0.0.1;User Id=valera;Password=2562525; 

에 오류가

*** Exception: SqlError {seState = "[\"IM002\"]", seNativeError = -1, seErrorMsg = "connectODBC/sqlDriverConnect: [\"0: [Microsoft][\\65533... 

나는 문제가 연결 문자열에 있는지, 가정 끝에 까지 다시 65,333 반복,하지만 난 그들의 전체 무리를 시도했다 (I입니다 사용 된 http://www.connectionstrings.com/)

Windows 7 64 비트에서 Haskell Platform 2011.4.0.0, GHC 7.0.4, Oracle Database XE 11.2를 사용하고 있습니다. Microsoft MDAC SDK가 설치되었습니다.

+0

관리 도구의 Odbc 도구를 사용하여 odbc 연결을 만들었습니까? –

+0

오, 그렇지 않았습니다. 아마도 ODBC의 개념을 완전히 이해하지 못했을 것입니다. 나는 시도 할 것이다. – Spo1ler

답변

2

\ 65533 등은 사용자의 로켈 (RU?)에있는 ODBC 드라이버 오류 메시지 문자열의 기호입니다. 나는 영어 로케일 시스템에서 개발하기 위해 최선의 방법을 찾았으므로 ghci 콘솔의 오류 메시지가 영어로 표시되어 읽을 수 있습니다.

+0

예, 내 지역은 러시아입니다. – Spo1ler

관련 문제