使用 HDBC 连接到 Haskell 中的 Oracle 数据库

发布于 2025-01-04 09:48:58 字数 1409 浏览 0 评论 0原文

我试图使用 Haskell 的 Oracle 数据库,但遇到了这样的问题。 于是,就有了这段代码。 module 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。

I was trying to work with Oracle Database from Haskell and have faced with such problem.
So, there is this code.

module Main where

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 ()

Pretty simple, huh? But that won't work. With this connection string the error is

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

and then 65333 repeats many times. And with this

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

the error is

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

and 65333 repeats again till the end
I suppose, that the problem is in connection string, but I had tried a whole bunch of them (I've used http://www.connectionstrings.com/)

I'm using Haskell Platform 2011.4.0.0, GHC 7.0.4, Oracle Database XE 11.2 on Windows 7 64-bit. Microsoft MDAC SDK installed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无畏 2025-01-11 09:48:58

\65533 等是您所在区域(RU?)中 ODBC 驱动程序错误消息字符串的符号。我找到了在英语语言环境系统中进行开发的最佳方法,因此 ghci 控制台中的错误消息以英语显示并且可以阅读。

\65533 and so on is the symbols of ODBC driver error message string in your locale (RU?). I find the best way so on to develop in english locale system, thus error messages in ghci console shown in english language and can be read.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文