Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
句柄无效:使用子流程模块从Python调用BCP_Python_Sql Server_Command Line_Subprocess_Bcp - Fatal编程技术网

句柄无效:使用子流程模块从Python调用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命

我有一个项目,我正在以文本文件的形式将大量数据上传到SQLServer。有一个python脚本,它使用函数SQLUpload迭代调用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句柄的一些信息: