【发布时间】:2011-12-08 21:19:18
【问题描述】:
我正在尝试通过 pyWin32 使用 Python 2.7 中的 SQL Server SMO 库。我可以导入win32com,但我在任何尝试访问该库时都受到了阻碍。我正在尝试的代码如下。
import sys
sys.path.append(r'C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies')
import win32com.client
server = win32com.client.Dispatch('Microsoft.SqlServer.Management.SMO.Server')
def main():
print server
if __name__ == '__main__':
main()
运行此代码时,我得到pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)。
似乎我只是在调用 Dispatch 时弄错了库的名称,但我想不出任何方法来知道它应该是什么。
看起来这实际上可能是一个路径问题。
这行得通:
import win32api
win32api.LoadLibrary(r'C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Smo.dll')
但是,这不是:
import sys
sys.path.append(r'C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies')
import win32api
win32api.LoadLibrary(r'Microsoft.SqlServer.Smo.dll')
【问题讨论】:
标签: python sql-server smo pywin32