Haskell odbc驱动程序由于域中的反斜杠而无法连接

时间:2018-10-28 15:59:09

标签: sql-server haskell

我在尝试使用Haskell和obdc驱动程序连接到Microsoft sql服务器时遇到问题。这是我的代码

{-# LANGUAGE OverloadedStrings #-}

module Lib
  ( someFunc
  ) where

import Data.Text (Text, pack, singleton, snoc)
import qualified Data.Text.IO as T
import Database.ODBC.SQLServer

someFunc :: IO ()
someFunc = do
  conn <-
    connect
      ("DRIVER={ODBC Driver 17 for SQL Server};SERVER=example;Uid=domain\\test;Pwd=test")
  rows <- query conn "SELECT TOP 100 * FROM test with (nolock)" :: IO [[Value]]
  print rows
  close conn

当我运行程序时,它尝试使用Uid = domain \\ test而不是我想要的domain \ test连接到数据库,我尝试了很多不同的方法来尝试构建连接字符串,域名和用户名之间以\\结尾。我想知道以前是否有人对此进行过处理?

注意:如果用户ID中没有反斜杠,则可以正常工作。

1 个答案:

答案 0 :(得分:1)

如果在字符串中需要两个反斜杠,则必须在Haskell中都对它们进行转义(与C语言和大多数编程语言一样)。尝试使用

{{1}}