我正在尝试使用Haskell的Oracle数据库,并遇到了这样的问题。 所以,有这个代码。 模块主要在哪里
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/)
我在Windows 7 64位上使用Haskell Platform 2011.4.0.0,GHC 7.0.4,Oracle Database XE 11.2。安装了Microsoft MDAC SDK。
答案 0 :(得分:2)
\ 65533等等是您的语言环境(RU?)中的ODBC驱动程序错误消息字符串的符号。我找到了在英语语言环境系统中开发的最佳方法,因此ghci控制台中的错误信息以英语显示,可以阅读。