As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
When I join tables in different nodes or subsystems, I get the following messages in the SQL trace:
(FOC2510) FOCUS-MANAGED JOIN SELECTED FOR FOLLOWING REASON(S):
(FOC2519) THE JOINED SEGMENTS RESIDE IN MORE THAN ONE NODE OR SUBSYSTEM
(FOC2590) AGGREGATION NOT DONE FOR THE FOLLOWING REASON:
(FOC2592) RDBMS-MANAGED JOIN HAS BEEN DISABLED
Is there any way to resolve this?
Can the MS SQL Server WebFOCUS Adapters be defined in such a way that the two different servers are defined within one adapter?
Or, is there a non-WebFOCUS solution - is it possible to create a view in one server that points to another server? I could then create a WebFOCUS synonym on the view.
All ideas welcome.
Thanks,
Francis.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
Are you trying to declare a WF master for a view as it sounds? I would normally resort to pulling the data back independantly and then joining / merging as necssary.
T
In FOCUS since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004
You can only define one server per adapter. Each new server would be a new adapter in the MS SQL adapter list. But, what you can do is define a view within MS SQL that spans several servers. In MS SQL the technique is called a 'distributed view'. If you google on that term you'll find enough links to guide you through that process.
Hope this helps...
GamP
- Using AS 8.2.01 on Windows 10 - IE11.
in Focus since 1988
Posts: 1961 | Location: Netherlands | Registered: September 25, 2007
That statement is only true for some adapters such as Teradata. However, in our shop we have connect strings to many SQLMSS servers defined in our profile.
That does not solve Francis' problem however. Your suggestion sounds like a great solution for him!
1/ Go to server A and define server B as a linked server 2/ On server A create the view that collecte data from tables on both servers. This is known as distributed query. Note: if you have a table T1 on server B, when creating the view you have to reference it like this: select * from B.DATABASENAME.USER.T1 3/ On webfocus create an adapter pointing server A 4/ Create a synonym on that view
5/ Create your report.
Regards.
WebFocus 7.6.5 AND WebLogic server as web server sql2005 as database server
Posts: 273 | Location: Europe | Registered: May 31, 2007
1/ Go to server A and create server B as a linked server 2/ On server A create a view that collect data from from both servers. 3/ On webfocus create an adapter that points server A. 4/ create a master file on the view you created 5/ Create the report on that view an
Posts: 273 | Location: Europe | Registered: May 31, 2007
I am very familiar with this since we have sql server all over Europe and we are launching sql queries joining deferrent tables lacated on different servers. All you have to do is :
1/ go to the server from you will launch the distributed query. 2/ Under security click on linked servers 3/ define there as many servers as you want.Only be sure to user a user with correct rights 4/ build your query or view
5/ create an adapter on the server where you defined the linked servers 6/ create a synonym on that view 7/ From here everything will be transparent for webfocus server and it will be in the hand of sql server.
Should you have adavanced questions regardin sql server please do not hesitate.
Majid.
WebFocus 7.6.5 AND WebLogic server as web server sql2005 as database server
Posts: 273 | Location: Europe | Registered: May 31, 2007
The linked server set-up was already done by a previous genius. I simply created a view on Server A pointing to a view on Server B. As mentioned, I had to specify the server in the view:
SELECT * FROM server.database.user.view
But of course, there's a problem. I can retrieve data from the view in Server A that points to the view in Server B when in SQL Server Enterprise Manager. I can generate the Master via the WebFOCUS server console. But when I TABLE the master, I get the following error:
(FOC1400) SQLCODE IS 7312 (HEX: 00001C90) XOPEN: 01000 : Microsoft OLE DB Provider for SQL Server: [01000] [OLE/DB provider retur : ned message: New transaction cannot enlist in the specified transaction : coordinator. ] [01000] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IT : ransactionJoin::JoinTransaction returned 0x8004d00a]. [42000] The operat : ion could not be performed because the OLE DB provider 'SQLOLEDB' was un : able to begin a distributed transaction. [] Deferred prepare could not b : e completed. L (FOC1406) SQL OPEN CURSOR ERROR. : CRMTEST1
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
I have not made reference to your possible solution for Francis, let alone that it wouldn't work. I merely point out that my approach is to leave a supportable solution for my Clients when I leave them. Often this means that I steer well clear of setting up convoluted solutions that the existing skill set of the permanent members of staff might not cover.
When I leave a Client, for my own conscience, I have to know that what I leave works and is supportable as well as having any documentation that might be required. By doing this I know that I have supplied the best possible service that I can, and hopefully, the Client will continue to have a good opinion and will think of me first when they require WebFOCUS consultancy
T
In FOCUS since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004
Tony, I wouldn't really consider this a "convoluted solution". It is well documented and appears to be easily performed. The client had previously created the linked servers, I would love to use its' potential in WF. As it stands, somehow the WF data-adpater cannot access a view that SQL Server Enterprise Manager can. I tried SQL pass-through and that didn't work either.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
Sorry if I misunderstood something. You know English is not my mother language and sometimes I read things which are very hard for me to understand corrcetly. Back to webfocus. When you have 2 adpaters one is A pointing sql server A an another is B pointing sql server B. Then you create a synonym S1 on A and S2 on B then you create a report which joins both of them. Doing so you will be impacting the performance since you are not taking advantages from the indexes on sql server. Creating a view which selects data from s1 and joinning it to s2 will have a great impact on the performance. This is because when you create a view, sql server compiles it,optimizes it then stores the execution plan and you can take benefit of evrentual indexes on the tables the view is based on.
Regards.
WebFocus 7.6.5 AND WebLogic server as web server sql2005 as database server
Posts: 273 | Location: Europe | Registered: May 31, 2007
No need to apologise at all. Your English is actually very good, and it's good that you are willing to assist someone with technical details that they need. It is a common characteristic that all forum posters share
For information, my previous comment was in response to Francis.
T
In FOCUS since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004
I've had a DBA do it in the past (nothing to do with webfocus) not sure how the optimizer works in this method because we simply were moving data between the two databases, not querying both in one statement.
I have, however, had to do this in an Oracle environment using SQL. it's really simple, CREATE DATABASE LINK and some parameters. I'm sure MS put something like this together. I do know that the Oracle optimizer will take the stats and indexes of the linked table into account when it builds the query plan. It's pretty spiffy. Anyone doing db work in peoplesoft over oracle would vouch to the value of database linking.
Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
The strange thing is that I was able to create the view pointing to a view in a databse on the second server. I ran it successfully via SQL Server Enterprise Manager. Then I tried to create the WF meta-data and got the SQL error I posted. Later, I tried modifying the view and got the same SQL error as the one generating the meta-data. I haven't had time to follow up.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
(FOC1400) SQLCODE IS 7312 (HEX: 00001C90) XOPEN: 01000 : Microsoft OLE DB Provider for SQL Server: [01000] [OLE/DB provider retur : ned message: New transaction cannot enlist in the specified transaction : coordinator. ] [01000] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IT : ransactionJoin::JoinTransaction returned 0x8004d00a]. [42000] The operat : ion could not be performed because the OLE DB provider 'SQLOLEDB' was un : able to begin a distributed transaction. [] Deferred prepare could not b : e completed. L (FOC1406) SQL OPEN CURSOR ERROR. : CRMTEST1
I don't have access to SQL Server Enterprise Manager at the moment - I'd like to post the SQL of the view that I was able to create once but not update.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
If you have a chance to access the enterprise manager, try copy the source of the view to query analyzer, delete the view, do the modification you want and then launch the script to create it again. Then login to query analyzer using the same user used in the sql adapter on webfocus and try to query the view. If you succeed then there is no reason for this not to work in webfocus.
Majid.
WebFocus 7.6.5 AND WebLogic server as web server sql2005 as database server
Posts: 273 | Location: Europe | Registered: May 31, 2007
I know this thread was from 2007, some three years ago, but I have just had the same SQL error produced when trying to query a SQL 2008 Server linked though a SQL 2000 Server from webfocus using a master file on a view. I also found the solution, so thought it might be handy to post it here just in case someone else has the same problem at some point.
These links are what solved the problem for me, I needed a combination of info from both: