1

我绝对是 haskell 的新手,但我需要编写一个简单的应用程序来使用 DB。我正在阅读 realworldhaskell 的书,关于使用数据库的章节:http: //book.realworldhaskell.org/read/using-databases.html。我已经安装了 HDBC 和 HDBC-mysql 并尝试运行:

ghci> :module Database.HDBC Database.HDBC.MySQL

但收到错误

attempting to use module ‘Database.HDBC.MySQL’ (./Database/HDBC/MySQL.hs) which is not loaded.

有人知道如何解决它以及是什么原因造成的吗?谢谢!

4

1 回答 1

0

我可以解决在 MacOS 上安装 mysql 的问题,

brew install mysql
mysql.server start ## mysqld

其次是

cabal install HDBC
cabal install HDBC-mysql

那么我可以创建MySQL连接吗?

import Control.Monad
import Database.HDBC
import Database.HDBC.MySQL

main = do conn <- connectMySQL MySQLConnectInfo { 
                    mysqlHost = "localhost", 
                    mysqlUser = "root", 
                    mysqlPassword = "", 
                    mysqlDatabase = "chat_server", 
                    mysqlPort = 3306, 
                    mysqlUnixSocket = "/tmp/mysql.sock", 
                    mysqlGroup = Just "test"
                  }

          rows <- quickQuery' conn "SELECT 1 + 1" []
          forM_ rows $ \row -> putStrLn $ show row

注意:您可能需要mysqlUnixSocket根据它所在的位置进行更新,可以使用以下命令找到:

sudo find / -type s 
于 2018-10-29T06:13:54.580 回答