Can the Data Interoperability Extension write to an ArcSDE version where the data is owned by a different user ?

517
3
Jump to solution
04-27-2017 10:59 AM
Highlighted
New Contributor II

I have a job that is reading from a file GDB and writing to an ArcSDE SQLServer versioned GDB.

I believe I have configured the writer correctly, as the log has messages confirming that I am connecting to the correct transactional version.

Connection made to server 'scggisdb1pw' for dataset 'SQLHydro' (transactional version '"BCC\DJACQUES".DJacques_20170417') using Operating System's current user
ArcSDE release: '10.0'. Underlying database: 'SQL Server'

However I am getting the following error :


Geodatabase Writer: Creating feature dataset 'ModelData'
Geodatabase Writer: Creating feature class `ICPR_NODE' in feature dataset 'SQLHydro."BCC\DJACQUES".ModelData'
An error occurred while attempting to create the feature class 'ICPR_NODE'.
The error number from ArcObjects is: '-2147155515'. The error message from ArcObjects is: {Database user name and current user schema do not match. [SQLHydro."BCC\DJACQUES".ICPR_NODE]}
A fatal error has occurred. Check the logfile above for details

The SQLHydro user owns all of the data in the version I have created, with my user having full modification rights to it.

If I connect to this version in ArcMap, I can add and delete features with no issue.

So I don't think this is a permissions problem.

I am unsure why the transformer tries to create the feature dataset and feature class under my username instead of inserting features into the one owned by SQLHydro.

Is there a parameter I am missing ? Or am I trying something unsupported ?

ArcGIS 10.4.1.

I have a job that is reading from a file GDB and writing to an ArcSDE SQLServer versioned GDB.

I believe I have configured the writer correctly, as the log has messages confirming that I am connecting to the correct transactional version.

Connection made to server 'scggisdb1pw' for dataset 'SQLHydro' (transactional version '"BCC\DJACQUES".DJacques_20170417') using Operating System's current user
ArcSDE release: '10.0'. Underlying database: 'SQL Server'

However I am getting the following error :
Geodatabase Writer: Creating feature dataset 'ModelData'
Geodatabase Writer: Creating feature class `ICPR_NODE' in feature dataset 'SQLHydro."BCC\DJACQUES".ModelData'
An error occurred while attempting to create the feature class 'ICPR_NODE'.
The error number from ArcObjects is: '-2147155515'. The error message from ArcObjects is: {Database user name and current user schema do not match. [SQLHydro."BCC\DJACQUES".ICPR_NODE]}
A fatal error has occurred. Check the logfile above for details

The SQLHydro user owns all of the data in the version I have created, with my user having full modification rights to it.

If I connect to this version in ArcMap, I can add and delete features with no issue. So I don't think this is a permissions problem.

I am unsure why the transformer tries to create the feature dataset and feature class under my username instead of inserting features into the one owned by SQLHydro.

Is there a parameter I am missing ?

Thanks

System Details :   ArcGIS 10.4.1.5686

                             ArcSDE 10.4.1 SQLServer 2014

                             Data Interoperability FME 2016.0.1.2 (20160224 - Build 16177 - WIN 32)

Reply
0 Kudos
1 Solution

Accepted Solutions
Highlighted
New Contributor II

A user on the FME Knowledgebase page answered this. Apparently I was missing the fact that there is a table qualifier parameter that needs to be given (at least in this situation) for each feature type being written. I thought for sure an 'over-ride schema' parameter would be at the writer definition level. Anyway, once I filled in the circled box 70+ times (for each feature type), the workspace functioned as expected.

View solution in original post

3 Replies
Highlighted
Esri Esteemed Contributor

Hi David,

1. Open SQL Server Management Studio and connect to the instance. 

2. Expand the Security folder > Logins. 

3. Right-click on BCC\DJACQUES > Properties

4. Click 'User Mapping' at the top left

5. You will want to make sure the User and Default Schema are exactly the same (i.e. BCC\DJACQUES) for SQLHydro database

This is a requirement in order to create feature classes in SQL Server, that is unless you are granted 'db_owner' database role.  In that case your Default Schema will be DBO.

Highlighted
New Contributor II

Jake...

Thanks for replying to my question. However I am not trying to create a Feature Class.

I am trying to insert records into an existing one.

  

SQLHydro.HYDRO.ICPR_NODE already exists.

My windows user has SELECT, INSERT, UPDATE, and DELETE on it.

The ArcSDE Geodatabase writer is trying to create a FeatureClass under my Windows User Name instead of inserting

into the existing one owned by the HYDRO user.  I would think that if you can connect through a version in that writer,

you should be able to modify the data owned by another user if you have the rights to do so.

Reply
0 Kudos
Highlighted
New Contributor II

A user on the FME Knowledgebase page answered this. Apparently I was missing the fact that there is a table qualifier parameter that needs to be given (at least in this situation) for each feature type being written. I thought for sure an 'over-ride schema' parameter would be at the writer definition level. Anyway, once I filled in the circled box 70+ times (for each feature type), the workspace functioned as expected.

View solution in original post