Author |
Message |
JPalatianos

Group memberships: Premium Members
Joined: 21 Jun 2006
Posts: 305
Points: 3036
|
|
DataStage® Release: 11x |
Job Type: Parallel |
OS: Unix |
|
Hi,
We are migrating our 9.1 DataStage project from Windows to 11.5 running on Red Hat Linux.
We have one project that uses the server name in the queries as follows:
from #$Server#.#$PlanMartDB#.dbo.dly_finance_invst_info_dim
The server variable is defined in administrator as
[NJROS1BD0130\DEV].
This job run fine on our 9.1 Windows project but in our new environment it appears we lose the slash as we get the error
"main_program: [IBM(DataDirect OEM)][ODBC SQL Server Wire Protocol driver][Microsoft SQL Server]Could not find server 'NJROS1BD0130DEV' in sys.servers. Verify that the correct server name was specified."
I created a test job and hardcoded the server in the sql as
from [NJROS1BD0130\DEV].#$PlanMartDB#.dbo.dly_finance_invst_info_dim and this runs fine
Any thought how I should code the admin Variable on our 11.5 Linux server?
Thanks - - John
|
|
|
|
 |
JRodriguez

Group memberships: Premium Members
Joined: 19 Nov 2005
Posts: 412
Location: New York City
Points: 4527
|
|
|
|
|
|
Hi JPalatiano,
Try escaping the special character like ServerName/\DEV that should.allow you to.pass the value as a literal
Hope it help![/b]
|
_________________ Julio Rodriguez
ETL Developer by choice
"Sure we have lots of reasons for being rude - But no excuses
|
|
|
 |
JPalatianos

Group memberships: Premium Members
Joined: 21 Jun 2006
Posts: 305
Points: 3036
|
|
|
|
|
|
Hi Julio,
I tried the following in administrator:
[NJROS1BD0130/\DEV]
Now it gives me Could not find server 'NJROS1BD0130/DEV' in sys.servers.
A bit closer but we want it interpreted as 'NJROS1BD0130\DEV
Thanks - - John
|
|
|
|
 |
JRodriguez

Group memberships: Premium Members
Joined: 19 Nov 2005
Posts: 412
Location: New York City
Points: 4527
|
|
|
|
|
|
Hi John,
Sorry, you should use ServerName\\NameInstance to get the desire result
By the way, normally you don't want to qualify the tables in your.SQL statements by adding the server and name instance where your SQL Server database is hosted. Just define the server name and port in your ODBC entry (.odbc.ini) and you should be able run the SQL statements
|
_________________ Julio Rodriguez
ETL Developer by choice
"Sure we have lots of reasons for being rude - But no excuses
|
|
|
 |
JPalatianos

Group memberships: Premium Members
Joined: 21 Jun 2006
Posts: 305
Points: 3036
|
|
|
|
|
|
Hi Julio,
Thank You!!
I could have sworn that I tried that up front but it appears I was never saving my changes when updating the administrative value. The [NJROS1BD0130\\DEV] ended up working for us.
FYI....
The reason this application has the server name in some of their jobs is they sometimes decide to query the table from the existing server (defined in the odbc.ini file) but sometimes they go after the same table in a Linked Server so they decided to parameterize that piece.
Thanks - - John
|
|
|
|
 |
|