Page 1 of 1

DSJHOSTNAME returning old machine name

Posted: Fri Sep 10, 2004 12:38 pm
by hrthomson
We recently received a new Windows 2000 test server. So as not to conflict with the existing server, we built the server under a temporary name (e.g. TESTSERVERA).

Once the server had been fully configured and tested, we unplugged the box and renamed the server to TESTSERVER. Everything appears to be working fine, except the DataStage call DSJ.HOSTNAME still returns the old server name TESTSERVERA.

Did we miss a step in renaming the server, or does DataStage grab the server name at install time and cache it within it's own files?

Any ideas, other than re-install DataStage would be most appreciated!

Thanks,

Heather

Posted: Fri Sep 10, 2004 1:05 pm
by kduke
Probably only Ray knows for sure but on early versions of DataStage and Universe the hostname is stored in the SCHEMA tables in the UV account. It might be hard to figure out what to update in there. I think the tablename is UV.SCHEMA. You probably need to do some hacking to figure it out.

Posted: Fri Sep 10, 2004 1:28 pm
by hrthomson
Thanks Kim. It's a place to start.

Posted: Fri Sep 10, 2004 6:05 pm
by ray.wurlod
Well I hope at least a few others know (for example the Ascential engineers!).

The UV_SCHEMA table is not where the host name is stored, but it wasn't a bad guess.

When you create a project entries are placed in the SQL Catalog recording the existence of the schema, the EXAMPLE1 table and the DBA user ID(s).

An entry is also placed in the UV.ACCOUNT hashed file. The NAME column in this file contains the product name, version number, host name and a numeric value, delimited by backslash characters. For example, I have one machine that has several aliases for its name; depending on which one is booted governs the hostname recorded in UV.ACCOUNT when I create a project (indeed all three are represented).

To see this,

Code: Select all

SELECT @ID, NAME FMT '40L' FROM UV.ACCOUNT;
To change, use the ED line editor. You need to know, from the file dictionary of UV.ACCOUNT, that NAME is field number 7. For example:

Code: Select all

>ED UV.ACCOUNT projectname
11 lines long.
----: 7
0007: DataStage\7.0\TESTSERVERA\8795
----: C/TESTSERVERA/TESTSERVER/
0007: DataStage\7.0\TESTSERVER\8795
----: FI
"projectname" filed in file "UV.ACCOUNT".
> 
You could probably invent an UPDATE statement, or use the UPDATE.RECORD program, to achieve the same result.

Posted: Sat Sep 11, 2004 11:10 am
by hrthomson
Excellent. Many thanks Ray, for such a thorough and speedy response.

Heather