ODBCを使用してローカルSQLServerに接続するHDBCへの最初のステップを示しています。
接続した後quickQuery
、私はそれをすることができませんclose
。私はcommit
最初に実行する必要があります。
これは本来あるべき姿ですか?commit
クエリのみを実行しているのになぜ必要なのですか?
GHCiについて:
m + Database.HDBC Database.HDBC.ODBC
conn <- connectODBC "Driver={SQL Server};Server=thiagon\\sqlserver2012;Database=senior;UID=framework;PWD=framework;"
vals <- quickQuery conn "SELECT TOP 5 * FROM whatever;" []
print vals
commit conn
disconnect conn
行を削除するとcommit conn
、例外が発生します。
*** Exception: SqlError {seState = "[\"25000\"]", seNativeError = -1, seErrorMsg = "disconnect: [\"0: [Microsoft][ODBC SQL Server Driver]Estado de transa\\65533\\65533o inv\\65533lido\"]"}
メッセージはポルトガル語で、「無効なトランザクション状態」を意味します。