5

Windows Search Index で SQL クエリを実行する方法を探しています。

これは .NET または Powershell を使用して非常に簡単に実行できますが、何をしても Python で動作させることはできないようです。

PyODBC を使用して JET4 ドライバーに乗ってみましたが、大量のエラーが発生しました。次に、ADO 接続に win32con クライアントを使用してみましたが、うまくいきませんでした。

私はプロバイダーをいくつかの場所で提供されているとして、MSIDXS.1またはSearch.CollatorDSO提供されていると述べようとしましたが、EDB ファイルに直接アクセスしようとしましたが、うまくいきませんでした。

誰かがそうすることができたことがありますか、または何が問題なのか知っていますか?

参考までに、この操作を実行する Powershell および C# スクリプトのサンプルへのリンクを添付します。 -powershell - https://msdn.microsoft.com/en-us/library/windows/desktop/ff684395(v=vs.85).aspx

VB スクリプトを使用して、パラメーターとしてクエリを使用してアプローチすることもできますが、私にはかなり不自由に感じます...

編集:正しいDBに接続しているように見えますが、エラーが発生します:

私のコード:

    conn = win32com.client.Dispatch('ADODB.Connection')
    #DSN = ('Provider=MSIDXS.1;Data Source=SYSTEMINDEX;')
    DSN = ('Provider=MSIDXS.1;Data Source=myCatalog;')
    conn.Open(DSN)
    rs = win32com.client.Dispatch(dispatch='ADODB.Recordset')
    strsql = r'SELECT 

エラー:

Traceback (most recent call last):
File "E:/Automation Scripts/123456/searchIndexQuery.py", line 48, in <module>
searchIndexConnector().ado()
File "E:/Automation Scripts/123456/searchIndexQuery.py", line 42, in ado
rs.Open(strsql, conn, 1, 3)
File "<COMObject ADODB.Recordset>", line 4, in Open
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft OLE DB Provider for Indexing Service', u"Incorrect syntax near '.'.  Expected ',', '.', FROM. SQLSTATE=42000 ", None, 0, -2147217900), None)

ありがとう!

4

0 に答える 0