1

我正在尝试在 python 中从call()or执行此操作Popen()

sqlcmd -E -S .\ 
USE MASTER 
GO 
SELECT 
name AS [Logical_name], 
physical_name AS [File_Path], 
type_desc AS [File_Type], 
state_desc AS [State] 
FROM sys.master_files 
WHERE database_id = DB_ID(N'AdventureWorksLT2008_old')
GO

它会引发一些错误。现在,我想看看问题出在哪里。我制作了一个命令的 .bat 文件。我执行了它,只是sqlcmd -E -S .\被执行。其余部分没有。如何在 python 中的 cmd 之后控制 sqlcmd 以执行其余代码?你能帮忙吗?谢谢

4

1 回答 1

0

你需要指定一个输入选项,比如-q去掉GO命令。请阅读文档以获取示例。尝试:

sqlcmd -E -S .\ -q "
SELECT 
name AS [Logical_name], 
physical_name AS [File_Path], 
type_desc AS [File_Type], 
state_desc AS [State] 
FROM sys.master_files 
WHERE database_id = DB_ID(N'AdventureWorksLT2008_old')"

或者,如果需要,将它们全部放在一行中。

于 2013-05-25T02:06:57.293 回答