Подключение к базе данных Oracle в Haskell с использованием HDBC - PullRequest
4 голосов
/ 11 февраля 2012

Я пытался работать с Oracle Database от Haskell и столкнулся с такой проблемой.Итак, есть этот код.модуль Main где

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...

и 65333 повторяется снова до конца, я полагаю, что проблема в строке подключения, но я пробовал целую кучуих (я использовал http://www.connectionstrings.com/)

Я использую платформу Haskell 2011.4.0.0, GHC 7.0.4, Oracle Database XE 11.2 в 64-битной Windows 7. Установлен Microsoft MDAC SDK.

1 Ответ

2 голосов
/ 11 февраля 2012

\ 65533 и т. Д. - это символы строки сообщения об ошибке драйвера ODBC в вашей локали (RU?).Я нахожу лучший способ развития в английской языковой системе, поэтому сообщения об ошибках в консоли ghci отображаются на английском языке и могут быть прочитаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...