Synching SharePoint 2013 List with Oracle - oracle

I'm having an issue where a customer wants to populate a SharePoint 2013 List with a data from Oracle (using a query) and have that List automatically synched with the Oracle database daily.
From my understanding the External Content Type is just a direct view of the external database pulled in real-time to SharePoint? What if in the SharePoint the user adds more data for the External List? When the External List is refreshed, will the key/id relationship (if any) exist in the External List so that user entry will map to the correct External List entry (with the data from Oracle)?
How should I go about any Oracle data synchronization with any List in SharePoint automatically? What are the ways I should go about doing this?

I haven't exactly worked with External Content Types. But I did displayed SQL table into SharePoint using Visual WebPart.
If you are allowed to deploy sandbox/farm code into your SharePoint Environment, than you can create a visual webpart and do sql query to your oracle database just like you would do with ado.net applications and display the result in your sharepoint page. You can create a asp.net gridview to do CRUD operations as well.

View and modify data stored at an external database is an OOTB Feature of SharePoint. The Feature is called BDC and supports live CRUD operations. So there is no synchronization required.
There are plenty samples on the net. For oracle have a look to
https://msdn.microsoft.com/en-us/library/office/ff464424(v=office.14).aspx
or with a 3rd party tool:
http://www.layer2solutions.com/en/community/FAQs/BDLC/Pages/How-to-connect-SharePoint-list-with-Oracle-data.aspx

Related

Visual Studio 2015 Web Test with Data from Oracle Database

I'm writing a webtest in Visual Studio 2015. The webtest I currently have allows me to run a static test.
I would like to spice things up and therefore add more realistic data. The data I want to use is stored in an Oracle Database 12c.
So I'm trying to add a new Data Source to the webtest. I enter the TNSName, Username and Password for which I would like to connect and test the connection. The connection can be established, but the list with tables I can choose from is empty.
Connecting to the same Database using the "Server Explorer" in Visual Studio 2015 works. And using this method I do get the full list of Tables contained in that Database. I can even query any of the tables.
So how can I fix my webtest to have access to a specific database table (row)?
If you can connect to the DB but you don't see the needed tables it should be a permission issue.
Do you use same credentials from "VS->Server Explorer" to connect to the DB?
If this is not the case, do you have more than one Oracle clients installed in your system? If yes, then most probably, the DataSource control uses the wrong client and the "Server Explorer" the correct one.
Are you using synonyms as proxies for your tables (e.g. for permission reasons)? synonyms will not show up when querying the list of tables that the user can access. They need be queried separately. When only the available tables are queried but not the vendor specific aliases this might lead to an empty list.
You need to install ODAC for Visual Studio 2015 to view the database tables. Here is the link for it.
http://www.oracle.com/technetwork/topics/dotnet/downloads/odacmsidownload-2745497.html

Scribe Insight: Migrate Principal Object Access table data from CRM 4.0 to CRM 2016

I am using scribe to migrate the Principal Object access data from CRM 4.0 to CRM 2016 DB.
The source adapter is a SQL Data Adapter which reads the data from the POA table in 4.0.
The destination adapter is the CRM Adapter and I have an insert step to insert the data into CRM 2016.
In the destination adapter, Scribe does not allow me to add the data links to PrincipalId and ObjectId fields from the source.
As far as I know, both of these fields are required to create a principal access object. However, since I can not create the data links, I do not know how I can copy this data over to CRM 2016.
Has anyone ever tried to Migrate the Principal Object Access table using scribe and have any suggestions for me to try out?
Any help will be greatly appreciated.
A few things I've noticed from your screenshot that might help you out:
You're trying to set the principalobjectaccessid on insert. I would think this is a no-no as you are creating a crm record and want a new guid to be assigned at that time instead.
You're doing the lookup to the type code but not to the foreign keys for the objectid and the principal id. You would need to refer to those (probably by name or an xref table as the guids will be different post import) in order to get the sharing in place.
In order to lookup those objects and principals you will need them to be entered into CRM2016 in a prior step.
One caveat I'd add is that based on the limited knowledge I have of you trying to move a 4.0 thought process involving sharing over to CRM 2016 this very well could be a bad idea. While sharing is still supported and certainly a part of the application there's performance issues that come up with extensive sharing and it's honestly a much more complex thing to work with then utilizing teams.. As I'm sure you're noticing now.
The POA table is internal to CRM and shouldn't be written to directly, even via the API.
It stores details of how records (determined by the objectid) are shared to users/teams (determined by principalid).
It sounds like you want to migrate your shares from CRM 4.0 to 2016. Scribe has a mechanism for doing this, using virtual fields. Look in the help for "Adapter for Microsoft Dynamics CRM" and search for "Granting Access". This explains how to use the virtual fields.

Couldn't find the Oracle Data source in visual studio 2012 while adding the ado.net Entity Model

This is my first time with MVC. When I am trying to add an ADO.net entity model then while creating a new connection I couldn't see my oracle database in the list of data source name. Only different type of Microsoft server is listed. What should I do to get the oracle database listed there too. When using simple database connection in the desktop application I could see the oracle database listed but not in this case.
The main problem is I couldn't connect entity data model to oracle database
I think you need to install the Oracle Developer Tools, which is a surprisingly complicated process.
This is a rather old article, but I think this is still useful
http://blogs.msdn.com/b/kaevans/archive/2009/07/18/connecting-to-oracle-from-visual-studio.aspx

How to load GUID values from one DB to Another DB using SSIS

I have two CRM's MS CRM 2011 (on-premise with SQL server 2008) and MS CRM 2011 (in the cloud).
I want to migrate data from on-premise to online using SSIS 2008, were i installed a third party components like "CRM Source Component" and "CRM Destination Component". Here when i'm trying to map all attribute from source to destination except auto generated fields(GUID) or lookup fields in CRM like Accountid, ParentCustomerid, territoryid(which are relationship fields(FK) with other entities) etc., data is moving perfectly else package is getting failed.
Here how can I load these missing attribute values into CRM?
It could be that you are violating the referential integrity constraints. Try removing ( temporarily) all the constraints on the destination tables before executing your package.

Creating a Stored Procedure from Inside ASP.NET MVC

One of the requirements for an ASP.NET MVC (3) app I'm working on is that it must be able to create and populate all required database tables, etc. if it's configured to use an empty database.
Since it's a standard ASP.NET MVC3 app, it uses the standard authentication tables (aspnet_*), along with a bunch of stored procedures and stuff.
What I'm trying right now is creating the tables through migrations (via MigratorDotNet) one by one as necessary (so far only made the aspnet_Users one), hoping they're not all needed; other stuff I'll need includes certain stored procedures, like CheckSchemaVersion.
How can I create these from inside an ASP.NET MVC app?
I also have a SQL dump of an empty ASP.NET MVC database (so it creates all the tables and stored procedures) to extract the relevant SQL from. As a super last resort, if I can somehow run this from inside my app, that may suffice as a solution.
If it matters, I'm using ActiveRecord (backed by NHibernate) with SQL Server 2008 Express .
This is indeed possible. The code is available in my application, Syzite, which is open-source (check AdminController.createAspNetStoredProcedures()).
The solution was to:
Store the procedures into a text file on the server
Iterate over all the lines
Find every set of CREATE PROCEDURE ... )\n as a procedure generation call
Create a System.Data.Linq.DataContext instance
Call instance.ExecuteCommand with the CREATE PROCEDURE code.

Resources