The shim execution failed unexpectedly in SharePoint 2013

I created an external content type in SharePoint 2013 and now I’m trying to read the data from my external list using PowerShell. I am  connecting to a SQL Server Database and I am getting the following error:

An error occurred while enumerating through a collection: The shim execution failed unexpectedly – Could not load file or assembly ‘System.Data.OracleClient, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089′ or one of its dependencies. Either a required impersonation level was not
provided, or the provided impersonation level is invalid. (Exception from HRESULT: 0x80070542)..

Something isn’t right here.

So first I’m loading the SharePoint addins

function Load_SPAddin()

{

$ver = $host | select version

if ($ver.Version.Major -gt 1) {$host.Runspace.ThreadOptions = “ReuseThread”}

if ((Get-PSSnapin “Microsoft.SharePoint.PowerShell” -ErrorAction SilentlyContinue) -eq $null)

{

Add-PSSnapin “Microsoft.SharePoint.PowerShell”

}
}

Load_SPAddin

Then I’m loading the web, the list and the items

$siteUrl = …
$web = Get-SPWeb $siteUrl
$UserList = $web.Lists[“External Users”]

Write-Host “The user list contains” $UserList.Items.Count “items”

$eitems = $UserList.GetItems()

The above getItems gives me the above error. until…. I run my PowerShell as Administrator and things are starting to work.

Then I’m walking through all the items

foreach ($eitem in $eitems)
{
… some code here …
}

And I’m getting another error:

Exception calling “GetItemById” with “1” argument(s): “The shim execution failed unexpectedly – Proxy
creation failed. Default context not found..”

All I have to add to the script before loading the web are the following 2 lines: :

$ctx = Get-SPServiceContext $siteUrl
$scope = new-object Microsoft.SharePoint.SPServiceContextScope $ctx

And my items are read in without any problem.


Discover more from SharePains

Subscribe to get the latest posts sent to your email.

Avatar of Pieter Veenstra

Is your business still running on paper trails, sprawling Excel files, or ageing Access databases? There's a better way — and I can show you exactly what it looks like. I'm the Technical Director of Vantage 365, a Microsoft solutions consultancy working with clients across the UK, the Netherlands, and worldwide. For over 30 years I've been turning messy, manual business processes into clean, automated systems that save time, reduce errors, and give teams the visibility they need to make better decisions. SharePains is not just any blog run by a Microsoft MVP. Have you ever used Try-Catch in Power Automate? The original post about Try-Catch in Power Automate can still be found on this site, https://sharepains.com/2018/02/07/try-catch-finally-in-power-automate-flow/ Or have you ever used the Pieter’s method to avoid variables and speed up your flows? https://sharepains.com/2020/03/11/pieters-method-for-advanced-in-flows/ You can contact me using contact@sharepains.com

Related Posts

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from SharePains

Subscribe now to keep reading and get access to the full archive.

Continue reading