永发信息网

Python中函数传参数报错

答案:2  悬赏:30  手机版
解决时间 2021-01-03 05:28
下面这段代码是关于DB连接的,我从配置文件读取参数传到MSSQL这个函数去(ms),就报错 ValueError: too many values to unpack (expected 2)。而如果直接hardcode字符串在函数里(ms2),就能成功执行SQL语句。 这四个变量的实际值在ms和ms2中是完全一样的。不知道哪里出了问题……请高手帮忙看一下

# Database Connection
# MSSQL Connection
config=configparser.ConfigParser()
with open (PARAMETER_PATH,"r") as db_conn:
config.readfp(db_conn)
SOURCE_DB_HOST=config.get("SQL Server Connection Setting","host").strip('\r\n\t')
SOURCE_DB_USER=config.get("SQL Server Connection Setting","user").strip('\r\n\t')
SOURCE_DB_PWD=config.get("SQL Server Connection Setting","pwd").strip('\r\n\t')
SOURCE_DB_INSTANCE=config.get("SQL Server Connection Setting","db").strip('\r\n\t')

print(SOURCE_DB_HOST,SOURCE_DB_USER,SOURCE_DB_PWD,SOURCE_DB_INSTANCE)

ms = MSSQL(SOURCE_DB_HOST,SOURCE_DB_USER,SOURCE_DB_PWD,SOURCE_DB_INSTANCE)
print (ms)
ms2 = MSSQL("SHAITUTIL01\\SQLEXPRESS","PCLC0\\etang","^yhn7ujm","Private_DB_Edwin")
print (ms2)

reslist = ms2.ExecQuery("select top 1 * from test_1")
for i in reslist:
print(i)

reslist = ms.ExecQuery("select top 1 * from test_1")
for i in reslist:
print(i)

输出结果是这样的
"SHAITUTIL01\\SQLEXPRESS" "PCLC0\\etang" "^yhn7ujm" "Private_DB_Edwin"


(1000001, 'VIP10001', '??', 'MARGARETA', '?', '??MARGARETA?', 'F', 'Aug 22 2017 5:43PM', 34, datetime.datetime(2014, 4, 15, 17, 27), 'Y ', 1000788, 1000764, datetime.datetime(2014, 4, 15, 17, 34, 29, 67000), datetime.datetime(2014, 4, 15, 17, 34, 29, 67000))
下面就报错了
最佳答案
那print (ms)的输出内容是一样的么,贴来看看
全部回答
似乎代码里没有看到你没有加载dll啊。 另外你在c里直接改写python的内存可能不太妥当。通常是在c里构造后,再返回到python里去。 从你的程序上看,调用完thin后,你的变量p似乎变成了空指针。 ctypes调用dll通常都是别人做好的dll,没有办法才自己去调用。这里有好多麻烦事情。 如果是自己写代码,通常会建议你用cython这个模块。很容易就实现接口。你也不用担心这些变量类型与接口封装的问题。 另外我印象中dll似乎与编译器也有关系。用vc可能容易些。用bc,或者是gcc就麻烦些。 另外还有版本的问题,64位与32位不能通用。 原则上讲,你这种用法,也不是不可以,可能还是哪个地方没有弄对。比如编译参数。你可以试试用return type把数据带回来。而不是用指针写内存。 因为p目前按理它是常量,很有可能调用机制中,不会让你改写它。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
判断题画一条直线的平行线,只能画1条.
女孩出生祝贺词f
我是上海企业协保人员,今年6月实足50岁,请
白猫王子七岁阅读答案
什么网站上买东西可以用微信支付
幕府将军2 64位下无法运行
日语的眼镜片和眼镜框怎么说
烧泥鳅怎么做好吃
谁在只二上卖过衣服,感觉怎么样?
极限挑战黄渤扮光头强是那一集
如图,等边三角形ABC中,AD是BC上的高,取AC
怎么会爱上你电视剧演员用的是什么牌子的手机
Please that you must review your lesson a
酒店感应门锁卡总卡遗失了,且设置的时间长,
用携手一生相扶到老做一首藏头诗
推荐资讯
生物与环境是相适应的,下列不属于陆地生存的
水是生命之源.下列有关水的叙述中,正确的是
读图并结合下列材料,分析回答:材料:2005年
请问,我配置能玩吗?我不懂电脑的啊, (盒):华
梦幻西游手游充一个648,花什么划算
You will be successful in the interview y
宝骏510车门底有的更换吗
根据如图回答问题.(1)图形A是两个重叠在一
璧山区园林局位置在什么地方啊,我要过去办理
个人征信报告,有逾期,账户2,月份数6,单月最高
Therearemoreboystudentsinourclass
买了生的鸭蛋,打开蛋黄是凝固的,什么原因
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?