Я сделал это с SharePoint и SQL Server.Во-первых, есть две части, которые вы хотите запросить в списке SharePoint, как описано в моем блоге:
http://sev17.com/2009/02/using-oledb-with-sharepoint-lists/
Во-вторых, вы хотите вставить таблицу.В SQL Server я бы использовал класс SQLBulkCopy, аналогичный класс для Oracle, но, вероятно, так же просто генерировать и выполнять операторы вставки из DataTable, возвращаемого из SharePoint.Этот кусок потребует немного работы.Взгляните на переменную $ dt и сгенерируйте состояние вставки.В качестве примера
$ dt |foreach {"INSERT myOracleTable VALUES ('$ ($ .Field1)', '$ ($ .Field2)');"}
Вы можете создать файл и использовать SQLPLus для выполненияфайл:
$ dt |foreach {"INSERT myOracleTable VALUES ('$ ($ .Field1)', '$ ($ .Field2)');"} >> ./out.sql
Или яВот серия из двух частей для запроса Oracle от Powershell здесь:
http://sev17.com/tag/oracle/
Редактировать добавленный пример:
#Select
$connString = ‘Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes; DATABASE=http://sharepoint.acme.com/IT/DBAdmin/;LIST={a113df9b-e56e-49d2-b786-03d170d18dbc};‘
$spConn = new-object System.Data.OleDb.OleDbConnection($connString)
$spConn.open()
$qry=‘Select * from list’
$cmd = new-object System.Data.OleDb.OleDbCommand($qry,$spConn)
$da = new-object System.Data.OleDb.OleDbDataAdapter($cmd)
$dt = new-object System.Data.dataTable
$da.fill($dt) > $null
$dt