我一直有我的ASP應用程序超時和登錄連接問題到我的SQL Server數據庫。我的主機提供商建議將我的連接字符串從ODBC DSN更改爲OLEDB。一旦我這樣做,我執行我的第一個存儲過程時出現此錯誤。從ODBC DSN連接切換到OLEDB後出錯
過程或函數'storedproc'需要參數'@ param1',其中 未提供。
這裏是我的連接字符串
Dim objconn
Set objconn = Server.CreateObject("ADODB.Connection")
objconn.open "Provider=SQLOLEDB;Data Source=localhost\sqlexpress;Initial Catalog=db;user id=user;password=pw"
這裏是我的存儲過程調用
Dim objrs, cmd
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = objconn
cmd.CommandText = "storedproc"
cmd.Parameters.Append(cmd.CreateParameters("param1",adDouble,adParamInput,,session("param1")))
Set objrs = Server.CreateObject("ADODB.Recordset")
objrs.CursorLocatoin = adUseClient
objrs.Open cmd
任何想法,爲什麼我的電話PROC不具有不同的連接字符串工作嗎?
你說CreateParameters,但它應該是CreateParameter,你不應該把方括號中的create語句括起來,AFAIK。一旦進行這些更改,它對ODBC和OLEDB都適用。 – Fionnuala 2012-07-26 19:18:54
你是否嘗試實際命名參數'「@param1」'而不是'「param1」'? – AnthonyWJones 2012-07-27 08:39:16
@Remou:你的意思是'Append'的調用不需要沒有偏見嗎? – AnthonyWJones 2012-07-27 08:40:06