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)
ありがとう!