[系統] 關於ODBC的版本

看板Database作者 (不爭之爭)時間8年前 (2016/04/12 20:27), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
資料庫名稱:MSSQL 資料庫版本:MSSQL 2012 作業平台:WIN 2012 R2 問題描述: 抱歉 請問一下 近期遇到一個問題是 在 WINDOWS 2012 R2 ODBC32 (6.3.9600.17415) 用 ODBC去連 MSSQL 2012 連線有建立成功而且也可以成功 CREATE DB 但是要做接下來的動作卻Fail 程式示意如下 (僅做邏輯表示 語法有誤見諒) functionXX(const unsigned char*SQLStmt) { ... SQLExecDirect(StmtHandle,(SQLCHAR*)SQLStmt,SQL_NTS); ... } 然後呼叫的部份: functionXX("CREATE DATABASE db_test"); //step1 functionXX("ALTER DATABASE db_test MODIFY FILE(NAME=db_test, SIZE=20)"); //step2 跑到step2 就報錯 SQLState='24000', Error message: [Microsoft][ODBC SQL Server Driver]Invalid cursor state 目前就只有在這個環境下會出錯 原先以為是SQL SERVER的設定造成 但是後來查了一些資料看起來比較像是ODBC這邊的問題 我有問到的是說建議在原本呼叫那行之前 加一行 SQLFreeStmt(StmtHandle, SQL_CLOSE); //prepend SQLExecDirect(StmtHandle,(SQLCHAR*)SQLStmt,SQL_NTS); //original 但因為沒有太多機會在production 機器上做測試 所以想先確定一下方向 所以想請問 (1) 有沒有人有遇過類似經驗,或是看得出來大概是什麼問題嗎? (2) 或是有人知道怎麼做可以把ODBC更新成 6.3.9600.17415 這個版本 我想local reproduce看看 謝謝各位 <(_ _)> -- 麻煩你,魚丸粗麵.. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.79.158 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1460464079.A.828.html

04/13 09:06, , 1F
去FB的SQL PASS社團問問看
04/13 09:06, 1F

04/13 10:29, , 2F
THANKS
04/13 10:29, 2F
文章代碼(AID): #1N3EdFWe (Database)