001487: Failed to update the published service with the server-side data location. Please see the server’s log for more details


Ho ho ho…getting this error when trying to publish a map? After upgrade? I got this error after upgrade from 10.3.1 and 10.4.1. I made several calls to Esri support, no help at all, they were thinking about file permission. I said what? How come file permission got change after upgrade? It doesn’t make sense and I said the account for ArcGIS server service is member of Administrator group and should have full permission to any files/folders.

Anyway…let me give you some background. After upgrade, I tried to publish a simple map that using Oracle database, so it means I used registered database from data store, it kept fail and threw the error. I checked the server log and I found this:

Failed swizzling the service.

Then

Failed to rename cache folder.

Then

Failed to create the service.: Updating the server connection string for layer Entries failed. Attempted connection string was ENCRYPTED_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;SERVER=sde;INSTANCE=”DSID=ffffffffffffffffffffffff”;DBCLIENT=oracle;DB_CONNECTION_PROPERTIES=TEST;PROJECT_INSTANCE=sde;USER=ARCSDE;VERSION=SDE.DEFAULT;AUTHENTICATION_MODE=DBMS. Table name is ARCSDE.COUNTIES. Please verify the data exists on the server.

Wow..first..what is swizzling? like mixing drink? And the last error message that made me puzzling, what? Verify the data exists on the server?

I did run Validate All on Server Manager, all showed green checked and did the same from ArcCatalog, all showed green as well. So it meant both from server and from local, it could connect and verify the database connection. So what is wrong then?

As I mentioned in the beginning, I called Esri support and I did my own search on Google. I found some interesting info.

  1. Bug – what? bug? Really?, here is the link, http://support.esri.com/download/7397 . Then it would be easy for me, just apply the patch and will work. Apparently no…the patch didn’t fix the issue.
  2. Found something in ArcGIS Pro reference, http://pro.arcgis.com/en/pro-app/tool-reference/tool-errors-and-warnings/001001-010000/tool-errors-and-warnings-01476-01500-001487.htm . Well…it didn’t make sense for my case.
  3. Found this thread, https://geonet.esri.com/thread/173653 … Well…very promising…until someone named, “Buddhatown”, gave a link
  4. Here is the link, https://geonet.esri.com/thread/177553#comment-614422 . Some gave steps on how to publish a service “manually” which is create MSD file and then publish from Admin site.
  5. Finally, inside that thread, someone named “twheagle-co-nz-esridist” gave this tip..THIS IS REAL HELP. Exactly the same as my case.

 

Let me give you my tips on how to fix:

  1. Check if your …\config-store\data has dsconnections.lst file or not, if not, continue below otherwise, please stop, it doesn’t apply to your caseJ.
  2. Find other site that working fine, has the same connection/registered database, copy the whole \data folder to the broken site AND copy dsconnections.lst file to all servers that member of the site in this location …\ArcGIS\Server\DatabaseSupport. REMEMBER: when you do that, you must stop ArcGIS server service on both source and target.
  3. If you can’t find other site that working fine, if you have multiple servers in a site, remove all servers and left only one server in the site (the idea is to make only one server/site), on Server Manager go to Site – Data Store, remove all Registered Databases entries and Registered Folders entries. Re-entry Register Database first until finish and continue to Register Folder. Make sure when you register first database, check if it created dsconnections.lst file on config-store\data folder. Otherwise, you might need to restart the server.

Those tips that I mentioned, fixed my issue. Thank you very much to those people in the Esri forum threads that give information and idea.

Meanwhile, I have some questions to Esri folks if might get chance to read my post,

  1. Why created dsconnections.lst file on both config-store and each server? I saw there were some inconsistency such as if I have multiple servers in a site, not all servers have identical file compare to each other and compare to config-store.
  2. Why created dsconnections.lst file on local if you are going to use the file on config-store folder?

Suggestion: if anytime we run validation using ArcCatalog and the result is green, why not copy the file from the local to config-store folder and to all servers member of the site (synchronization) and the other way from server manager. By that, all servers in the site and config-store folder will have identical file. Or to make it simple, why maintain critical configuration of a site in local server while you have a central location \config-store and \directories.

 

GOOD LUCK!!!

Advertisements

The Headache of Password Caching in MXD file


Got headache of password caching in your mxd files?

If your company have policy to change account password frequently and has maximum bad password and your mxd document is getting data from an account that affect to it, most likely you will have problem locking the account. I have been researching the behavior of mxd document using a tool and found:

  • It caches password up to 3 times
  • It will cache password forever if you deleted a layer as the layer information still exists in the file, take a look this screenshot. This layer called Layer A After, it still exists in the file even I couldn’t see it from ArcMapHex

 

How to fix it?

Good question! There is ONLY one way that I know so far…it is…create a new mxd file! Or inject the encrypted password with latest one. Any comments?

ERROR ORA-01455 AFTER UPGRADED ARCGIS SERVER TO 10.3.1


You just upgraded your ArcGIS Server and Desktop to 10.3.1 and when you tried to connect to Oracle DB from SDE connection, it threw error:

Underlying DBMS error[ORA-01455: converting column overflows integer datatypeNo extended error.]

Image 55

Actually this error is not related to your new ArcGIS 10.3.1. it is due to your Oracle client that does not meet the minimum requirement. Try update your Oracle client to latest one. It should solve the issue.

Good Luck!!!

 

MY AGONY OVER MXD FILES


With the new 10.2.2 version, I was hoping Esri would change the way how they created mxd file. But I was wrong.

Here is one of the discussion related to mxd file, https://geonet.esri.com/thread/120566

Esri still put aside enterprise best practice where changing password periodically is a common thing. The result, mxd file is still holding password. Let me give my real scenario and hope someone out there can answer me (especially Esri developers).

Situation:

  1. I created a public account on Oracle database (let’s call it, ORAPUBLIC) and granted permission to some feature/tables.
  2. I created an sde connection file and use that public account, ORAPUBLIC.
  3. I stored that connection file in a shared folder where anyone has privilege able to access.
  4. Months has passed, many users had used that connection to create mxd files.

It’s time to change the password to comply with company policy

Question:

  1. How can I change the password without effect to all mxd files as they stored current password? Oopss…right, all mxd files store password.

“Temporary” solution #1:

  1. Change the password in Oracle and sde connection file.
  2. Oops!!!! You will eventually lock the account when you open mxd files because company policy prohibit consecutive bad password (3 – 5 consecutives).
  3. Don’t care….I will open the mxd and it will show me exclamation sign at all of layers. After that, I will update the data source by connect to sde connection file.
  4. Oops again!!!! Since the account is locked, I can’t make a connection, I need to unlock the account and try to change the data source again.
  5. Oh no!!!! I have so many mxd files, should I do that one by one? Answer: ^(*&(*^$E^*()

“Temporary” solution #2:

  1. I will create another oracle public account (ORAPUBLIC2) and create new sde connection file.
  2. I will manually (or write a python script or any script) change the data source on all mxd files
  3. Hooray!!!! I did it…hmmm…well really?
  4. Then I change the first oracle public account (ORAPUBLIC) password.
  5. I open some of my mxd files…OH NOOOOOO!!!!!!!! Why my ORAPUBLIC account got locked?

Folks, again all the stories above were real. All of you might think that the temporary solution #2 is the best solution but why at point 5, the account got locked?

Hmmm….you might scratch your head again….scratch again…3X….10X…10000000X haha

Well, that is how it is…mxd files are storing password, somehow you can wipe or update previous account and password with other account and password BUT sometimes it didn’t happen. Do you know why? I investigated this thousand times, used many tools, simulated and found a behavior that I think…Esri should fix on how they create mxd. If you want to know, send  me a message to my Linkedin mailbox.

Cheers!

ISSUE AFTER UPGRADED ARCGIS SERVER TO 10.2.2


OK, you have upgraded your ArcGIS server from 10.1 to 10.2 and issue came up, such as

 

Server machine ‘nameofserver’ is currently being configured by another administrative operation. Please try again later.’

 

Or

The map was successfully published, however the service did not start automatically.

 

 

I got also similar issue when I upgraded to 10.2. I opened case with ESRI support but no luck. I did several investigations and troubleshoot while waiting for Esri to respond.

For your better information, I had more than two servers in cluster and it complicated when I did my troubleshooting. So I removed all servers (include removed them from site) and left only one server. I did some tests again but the errors were still the same, it kept saying “…Currently being configured by another administrative operation….” Which it didn’t make sense.

In my opinion, somewhere it still tried to access “a file” which been opened by something and locked it or for some reason it couldn’t read it. So I needed to close it. I tried by start and restart ArcGIS Server Service and continued with reboot the server itself. Still it didn’t help. Last resort, I tried to change the account that used in ArcGIS server service. Voila…it worked!!!! And I changed back to original account, it worked too…Eureka!!! By doing that, the server could access the file and didn’t complain about “being configured by another administrative.”

I hope this post can give you idea on how to troubleshoot issue after you upgraded your server to 10.2.

Good luck, fellas!

 

ERROR: Cannot upgrade a user schema geodatabase when the master schema geodatabase is at a previous release.


Hi Hi… Have you ever got that error when you tried to upgrade your SDE from 10.0 to 10.1? Cannot upgrade a user schema geodatabase when the master schema geodatabase is at a previous release. The master schema geodatabase must be upgraded first. ERROR: Geodatabase schema object install not completed (-522).   but you were upgrading a master schema and absolutely sure it was the master schema. The solution I would give to you is try to create a new connection file with using the same SDE account and password and then  connect from that new connection file and upgrade from there. Another one, don’t forget to remove “sde:oracle11g:” from your Database Connection and ONLY left your database name.  This solution worked awesome!.   Thank you!

MONITOR YOUR ARCGIS SERVERS/SERVICES USING SYSTEM MONITOR


Hello there!!!

I would like to share with you my experience in using System Monitor (1.1.3), you can find the information in here, http://www.arcgis.com/home/item.html?id=848f48b0f88e4de7a036377197453efe

A very good tool to monitor your ArcGIS server and system however I have some notes about this tool.

During my setup, I corresponded with ESRI folks (Jim S, Frank P, Andrew S). They were very helpful but I have some questions that I sent to them and haven’t get responded from them yet. Sorry guys for bugging you :-)..ssttt…they are brilliant, intelligence and good people.

After installed the System Monitor Report Server service on my server, the service wouldn’t start. After working with ESRI folks there were two issue. First, my config.json was incorrect. you need to make sure that your json file is in correct format, try to copy and paste into jsonlint.com to validate. Second, which is js file in

…\SystemMonitor\node_modules\eureca.io\node_modules\primus\node_modules\access-control\node_modules\setheader\index.js

Replace the entire contents of file with the content below in green

‘use strict’;

 

//var debug = require(‘debug’)(‘setHeader’);

 

/**

 * This code mimics the internals of the setHeader methods that is found in the

 * _http_outgoing.js file which node uses as response object. The only big

 * difference is that we don’t throw and crash your application and ensure that

 * the headers you set using this function CANNOT be removed.

 *

 * @param {Response} res The HTTP Outgoing response instance.

 * @param {String} name The header name.

 * @param {String} value The value of the header.

 * @returns {Boolean} The header was set.

 * @api public

 */

module.exports = function setHeader(res, name, value) {

  if (!res || !name || !value || res._header) {

    return false;

  }

 

  var key = name.toLowerCase();

 

  //

  // Delegate the header setting magic first to the default setHeader method as

  // it can also be used to remove automatically injected headers.

  //

  res.setHeader(name, value);

 

  //

  // Prevent thrown errors when we want to set the same header again using our

  // own `setHeader` method.

  //

  var described = Object.getOwnPropertyDescriptor(res._headers, key);

 

  if (described && !described.configurable) {

    return false;

  }

 

  //

  // Internally, the `res.setHeader` stores the lowercase name and it’s value in

  // a private `_headers` object. We’re going to override the value that got set

  // using the Object.defineProperty so nobody can set the same header again.

  //

  Object.defineProperty(res._headers, key, {

    configurable: false,

    enumerable: true,

 

    //

    // Return the value that got set using our `setHeader` method.

    //

    get: function get() {

      return value;

    },

 

    //

    // Log an override attempt on our protected header.

    //

    set: function set(val) {

      //debug(‘attempt to override header %s:%s with %s’, name, value, val);

      return value;

    }

  });

 

  return true;

};

 

After that, abracadabra!, it worked.

 

Basically, This tool can help me to see all of my ArcGIS server and system in one screen, even though  in some area it needs to improve such as:

a. Email alert setting (can alter only send one email for an event not only the frequency of sending email in a time).

b. Creating alert for ArcGIS not only on System.

c. Integrate into enterprise user/group repository (Active Directory) to add user/group.

d. etc and etc…I have so many requests and put my hopes on this product.

 

 

Alright, Guys…Good Luck with your installation and happy Monitoring!

Greetings!