我在尝试使用Haskell的Oracle数据库时遇到了这样的问题。所以,这是这段代码。模块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/)
我在Windows 7 64位平台上使用Haskell Platform 2011.4.0.0、GHC 7.0.4、Oracle Database XE 11.2。已安装Microsoft MDAC SDK。
发布于 2012-02-12 00:06:08
\65533等是您所在地区的ODBC驱动程序错误消息字符串的符号(RU?)。我找到了在英文语言环境下开发的最好的方法,这样在ghci控制台中的错误信息就可以用英文显示出来,并且可以阅读。
https://stackoverflow.com/questions/9240409
复制相似问题