python 执行存储过程语句_从Python执行存储过程
我正在使用一个名为ceODBC的模块处理Python3,并试图在SQL Server 2005中调用一个存储过程。当我在sqlservermanagementstudio之外运行存储过程(不涉及Python)时,我得到了正确的结果,278行被插入到所需的表中,但是在Python中,它在31之后停止。有人能告诉我为什么存储过程会过早停止吗?这是我的Python代码:import ceODBC
connect=ceODBC.connect("""DSN=mydatabase;SERVER=xxx.xxx.x.xxx;
DRIVER={SQLServer};UID=user;PWD=password""", autocommit= True)
cursor = connect.cursor()
cursor.execute("""
CREATE TABLE mydatabase.dbo.Vision_TempTable
(
CustId bigint,
PayProcId int,
WebUserId bigint,
SubTypeId bigint,
PayAmt decimal(18,2),
Paydate datetime,
PayType varchar(1),
DateCreated datetime,
PayStatus varchar(1),
Account varchar(30),
V_Account varchar(30)
)""")#Create a temp table which will be used in the SP insert
connect.commit()
f=open('F:/clients/UTA/Vision/Data/ExternalPay_Data/lbox.txt')
CUST_ID=44
PAYPROCID=4
SUBTYPE_ID=64
WEBUSER_ID=2432
PAYTYPE='C'
PAYSTATUS='J'
for line in f: #parse a text file and insert values into temp table I just created
lineLength=len(line.strip())
if lineLength>=49:
visionAccount=int(line[10:17])
visionAccount=str(visionAccount)
recipientID=line[17:29]
invoiceAmount=line[31:39]
invoiceAmount=float(invoiceAmount)
pmtType=line[39:41]#make sure it will always be ck
pmtDate=line[45:47]+'/'+line[47:49]+'/'+line[41:45]
cursor.execute("""INSERT INTO mydatabase.dbo.Vision_TempTable
(CustId,PayProcId,WebUserId,SubTypeId,PayAmt,Paydate,
PayType,DateCreated,PayStatus,Account,V_Account)
VALUES
(?,?,?,?,?,?,?,GETDATE(),?,?,?)""",
CUST_ID,PAYPROCID,WEBUSER_ID,SUBTYPE_ID,
invoiceAmount,pmtDate,PAYTYPE,PAYSTATUS,recipientID,visionAccount)
connect.commit()
cursor.callproc("mydatabase.dbo.VisionExternalPMTS")# turn over control to SP
f.close()
connect.close()
print('Done')
为了得到完整的图片,我将包含以下存储过程:USE [mydatabase]
GO
/****** Object: StoredProcedure [dbo].[VisionExternalPMTS] Script Date: 06/16/2011 08:38:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[VisionExternalPMTS] as
BEGIN
declare @custid bigint,
@payprocid int,
@webuserid bigint,
@subtypeid bigint,
@payamt decimal(18,2),
@paydate datetime,
@paytype varchar(1),
@datecreated datetime,
@paystatus varchar(1),
@account varchar(30),
@v_account varchar(30)
DECLARE update_webPayments CURSOR for --select from temp table created in python
SELECT CustId,PayProcId,WebUserId,SubTypeId,PayAmt,Paydate,PayType,
DateCreated,PayStatus
FROM Vision_TempTable
OPEN update_webPayments
FETCH NEXT FROM update_webPayments INTO @custid,@payprocid,@webuserid,
@subtypeid,@payamt,@paydate,@paytype,@datecreated,
@paystatus
WHILE @@fetch_status = 0 --insert into target table
BEGIN
INSERT INTO WEBPAYMENTS(CUSTID,PAYPROCID,WEBUSERID,SUBTYPEID,
PAYAMT,PAYDATE,PAYTYPE,DATECREATED,PAYSTATUS)
VALUES (@custid,@payprocid,@webuserid,@subtypeid,@payamt,
@paydate,@paytype,@datecreated,@paystatus)
FETCH NEXT FROM update_webPayments INTO @custid,@payprocid,@webuserid,
@subtypeid,@payamt,@paydate,@paytype,@datecreated,
@paystatus
END
--DROP TABLE VISION_TempTable
END
create table语句和来自Python的初始insert总是有效的,我在temp表中得到278行,只有当我从Python调用存储过程时,才会出错。存储过程提前终止。我认为这是因为Python可能没有给它足够的时间在程序结束前执行,所以我尝试了放置某种计数器,但最终得到了数据库错误(尽管存储过程工作正常),所以我删除了计数器。我想要的是将控制权传递给存储过程,并且在存储过程完成之前不返回到python程序。任何帮助都将不胜感激。
谢谢
python 执行存储过程语句_从Python执行存储过程相关推荐
- python list存储对象_《python解释器源码剖析》第4章--python中的list对象
4.0 序 python中的list对象,底层对应的则是PyListObject.如果你熟悉C++,那么会很容易和C++中的list联系起来.但实际上,这个C++中的list大相径庭,反而和STL中的 ...
- python怎么存储数据_【Python】存储数据
很多程序都要求用户输入某种信息,如让用户存储游戏首选项或者提供可视化数据,不管专注什么,程序都要将数据进行存储,那么如何存储呢? JSON(JavaScript Object Notation)格式最 ...
- python多进程存储数据_[b0035] python 归纳 (二十)_多进程数据共享和同步_共享内存Value Array...
1. Code #-*- coding: utf-8 -*- """多进程 数据共享 共享变量 Value,Array 逻辑: 2个进程,对同一份数据,一个做加法,一个做 ...
- python字典的存储结构_解决python字典结构内存暴涨问题
背景:当读取一个key value数据的时候,python的字典结构会造成内存使用扩10倍左右,无可容忍.此文解决这个问题 数据:word2vec训练的结果,word对应400维的词向量.词表共1.6 ...
- python 存储图片_使用python存储网页上的图片实例
使用python存储网页上的图片实例 本文介绍在已知网络图片的地址下,存储图片到本地 本文例子随便选择LOFTER上一张图片,复制图片的地址,如下图所示 在Python中输入代码 import req ...
- python中级项目下载_中级Python复习:教程,项目思想和技巧
python中级项目下载 本文旨在向Python初学者和开发人员介绍Python中使用的一些关键概念,这些概念一开始就没有讲授. 如果您可以创建二次方根求解器,则可以理解本文. 这些是我一天之内没有学 ...
- python大牛 关东升_《Python从小白到大牛》第4章 Python语法基础
本章主要为大家介绍Python的一些语法,其中包括标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 标识符和关键字 任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍Pyth ...
- python大数据论坛_干货 | Python+大数据计算平台,PyODPS架构手把手教你搭建
数据分析和机器学习 大数据基本都是建立在Hadoop系统的生态上的,其实一个Java的环境.很多人喜欢用Python和R来进行数据分析,但是这往往对应一些小数据的问题,或者本地数据处理的问题.如何将二 ...
- python 工资管理软件_基于[Python]的员工管理系统
基于[Python]的员工管理系统 -------------------------------- 简介 使用python语言来完成一个员工管理系统,员工信息包含:员工工号,姓名, 年龄,性别,职位 ...
最新文章
- 001-SDK框架之Unity游戏调用SDK
- C++二维数组new小结(zz)
- Kafka消息投递语义-消息不丢失,不重复,不丢不重
- android adb 环境,Android安卓环境搭建及ADB常用命令
- SQL 必知必会·笔记7汇总数据——使用聚合函数
- [转载] python 需求清单_Python清单操作摘要
- leetcode Largest Rectangle in Histogram 单调栈
- 云画质助手iApp源码下载
- Minecraft安装资源包
- 【BX学习之打印机】 惠普5055(无线WiFi小型打印机双面复印扫描一体机)
- VideoShow -视频编辑 v8.8.4rc (更新版)
- 统计各个分数段的人数python_怎么利用Excel统计各分数段的人数
- 赶集网–免费发布信息
- 如何应用好计算机教学设计,计算机教学设计
- 平安科技从 Oracle 迁移到 UbiSQL 的实践
- 【Spring】IDEA中创建Spring项目
- 科技型中小企业认定标准
- vue中的@代表什么
- 看完不会写MVP架构我跪搓板
- Kali-msfdb-Postgresql报错排查处理