我在尝试使用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中没有反斜杠,则可以正常工作。
答案 0 :(得分:1)
如果在字符串中需要两个反斜杠,则必须在Haskell中都对它们进行转义(与C语言和大多数编程语言一样)。尝试使用
{{1}}