Hi, I'm trying to use pymssql to execute a stored procedure. Currently, I have an Excel spreadsheet that uses VBA in this manner:
Private Function CreateNewParrot(connDb As ADODB.Connection) As Long Dim objCommand As ADODB.Command Dim iParrot As Long Dim bSuccess As Boolean Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = connDb objCommand.CommandText = "create_new" objCommand.CommandType = adCmdStoredProc objCommand.Parameters.Refresh On Error Resume Next Err.Clear objCommand.Execute bSuccess = (Err.Number = 0) On Error GoTo 0 If (bSuccess) Then If (IsNull(objCommand("@parrot"))) Then iParrot = 0 Else iParrot = CLng(objCommand("@parrot")) End If Else iParrot = 0 End If Set objCommand = Nothing CreateNewParrot = iParrot End Function My attempts to translate this into a python script using pymssql have so far been fruitless. Here is what I have tried: >>> import pymssql >>> con = pymssql.connect(host='blah', user='blah', password='blah', >>> database='blah') >>> cur = con.cursor() >>> command = 'exec create_new_parrot' >>> cur.execute(command, '@parrot') Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:\Program Files\Python\lib\site-packages\pymssql.py", line 127, in execute self.executemany(operation, (params,)) File "C:\Program Files\Python\lib\site-packages\pymssql.py", line 153, in executemany raise DatabaseError, "internal error: %s" % self.__source.errmsg() pymssql.DatabaseError: internal error: SQL Server message 8114, severity 16, state 5, procedure create_new_parrot, line 0: Error converting data type nvarchar to int. DB-Lib error message 10007, severity 5: General SQL Server error: Check messages from the SQL Server. Any ideas? Thanks. <M> -- http://mail.python.org/mailman/listinfo/python-list