gpt4 book ai didi

python - 使用 win32com 在 Python 中使用 SMO DLL

转载 作者:行者123 更新时间:2023-12-01 06:05:06 25 4
gpt4 key购买 nike

我正在尝试通过 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')

最佳答案

win32com 用于使用 COM 库,它不了解有关 .NET 程序集的任何信息。目前,无法直接从 CPython 使用 .NET,因此您的选择是 use IronPython或者用 C# 或其他语言编写命令行工具,然后从 Python 调用它。

关于python - 使用 win32com 在 Python 中使用 SMO DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8437819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com