Как вставить список sharepoint в Oracle DB, используя Powershell - PullRequest
0 голосов
/ 15 августа 2011

Я хотел бы получить некоторые элементы списка из списка sharepoint, а затем загрузить их в таблицу Oracle. Это возможно с помощью powershell. Любые мысли или идеи будут оценены. Спасибо ** Как лучше всего подготовить таблицу в powershell перед вставкой в ​​Oracle?

Ответы [ 2 ]

0 голосов
/ 15 августа 2011

Вы также можете использовать веб-сервисы Sharepoint для получения информации, я описал ее несколько здесь .У меня нет большого опыта доступа к базам данных из Powershell, но я нашел хороший пост здесь , который должен отвечать всем требованиям.

0 голосов
/ 15 августа 2011

Я сделал это с 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...