句柄无效:使用子流程模块从Python调用BCP
我有一个项目,我正在以文本文件的形式将大量数据上传到SQLServer。有一个python脚本,它使用函数SQLUpload迭代调用BCP命令。此功能的输入为:句柄无效:使用子流程模块从Python调用BCP,python,sql-server,command-line,subprocess,bcp,Python,Sql Server,Command Line,Subprocess,Bcp,我有一个项目,我正在以文本文件的形式将大量数据上传到SQLServer。有一个python脚本,它使用函数SQLUpload迭代调用BCP命令。此功能的输入为: SQLUpload(prefix,suffix,uploadingDirectory,formatFileDirectory,server,tableName, userName,passWord) 使用子流程模块迭代调用BCP命
SQLUpload(prefix,suffix,uploadingDirectory,formatFileDirectory,server,tableName,
userName,passWord)
使用子流程模块迭代调用BCP命令的行如下所示,如果需要更多代码,请进行注释:
batchCommand = 'BCP ' + tableName + ' in ' + os.path.join(directory,dataFile) + ' -U ' \
+ userName + ' -P ' + passWord + ' -S ' + server \
+ ' -f ' + formatFileDirectory
err = subprocess.call(batchCommand,stderr=subprocess.PIPE,shell=True)
错误如下:
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
SQLUpload(prefix,suffix,uploadingDirectory,formatFileDirectory,server,tableName,userName,passWord)
File "H:\Engineering\MWDownload\HDC\Scriptfile\SQLUploader - Local.py", line 66, in SQLUpload
err = subprocess.call(batchCommand,stderr=subprocess.PIPE,shell=True)
File "C:\Python33\lib\subprocess.py", line 523, in call
with Popen(*popenargs, **kwargs) as p:
File "C:\Python33\lib\subprocess.py", line 789, in __init__
errread, errwrite) = self._get_handles(stdin, stdout, stderr)
File "C:\Python33\lib\subprocess.py", line 1006, in _get_handles
c2pwrite = self._make_inheritable(c2pwrite)
File "C:\Python33\lib\subprocess.py", line 1038, in _make_inheritable
_winapi.DUPLICATE_SAME_ACCESS)
OSError: [WinError 6] The handle is invalid
此错误是否意味着我对当前用户名和密码没有权限?或者它意味着什么
提前感谢。由于某种原因,重新启动工作正常 我再次运行脚本。它从离开的地方捡起,然后开始工作
奇怪。以下是一些由于某种原因重新启动工作。我再次运行脚本。它从离开的地方捡起,然后开始工作。奇怪的以下是有关Windows句柄的一些信息: