JBCL vs infobus?
Both JBCL (Borland's Java Bean Component Library) and Oracle's
implementation of Java infobus standard are shipped with
JDeveloper2.0. They both support data exchange between java
components and the database application. Can anybody tell me
what's the consideration of choosing one over another, what is
the difference between these two class libraries?
I have a client/server database application using java
application, should I choose JBCL or SWING + Oracle's dacf,
which is an infobus implementation? Is there any comment on
JBCL?
null
Thank you for your response.
My 2 cents:
1, It's really frustrated for my other postings not getting any
feedback from Oracle support team. I see so many questions posted
w/o any answer.
2, JBCL is pretty immature. Many controls don't work the way
you expected them to work. And its design has determined its slow
performance.
shaomei
Martin (guest) wrote:
: We tried to work with the infobus and abandoned it after a
while;
: perhaps it is our fault, but we were not able to fill any
: datasets directly from java (i.e. not from dacf.controls).
: We need this feature to beat the performance problem.
: Both JBCL and INFOBUS components seem to be awfully slow
: ( a form with two datasets, rowsets needs 5 -10 secs to open).
: Undoubtly INFOBUS is the future, but for us the oracle
: implementation needs to be augmented; at least we need direct
: access to rowsets (the rowsetinfo is not enough);
: I think we have to wait for a later release to use infobus; we
: are now working with jbcl components and are eager to see the
: just released JBuilder 3 with the modern swing (javax)
: components. Perhaps it will be somewhat faster with the
: jdatastore.
: martin
: Shaomei Ruan (guest) wrote:
: : Both JBCL (Borland's Java Bean Component Library) and Oracle's
: : implementation of Java infobus standard are shipped with
: : JDeveloper2.0. They both support data exchange between java
: : components and the database application. Can anybody tell me
: : what's the consideration of choosing one over another, what is
: : the difference between these two class libraries?
: : I have a client/server database application using java
: : application, should I choose JBCL or SWING + Oracle's dacf,
: : which is an infobus implementation? Is there any comment on
: : JBCL?
null
Similar Messages
-
How to prevent Autoquery in infobus forms
Hi,
When an info bus form comes up, it queries the data from the
table and shows it up. I want to prevent this. How do I do this?
In jbcl QueryDataSet there was a parameter to specify this
behaviour. But nothing is seen in infobus documentation. Can
someone help me please.
I tried using rowsetInof.publishSession(false). Still the data
gets quried, only thing is that it is not shown on the
components. I want to prevent the initial querying totally.
TIA,
--Gopal
nullHi
Thanx. But it doesn't help. When I use
sessionInfo.publishSession(false),
if I have 10 rows in the table, it shows 10 blank rows on the
Grid control to which the rowSet is attached. Moreover, it does
not allow me to add any values to them. (It allows any value to
be inserted, but just doesn't save and no validation events
take place.)
So I need more help on this.
Thanks,
--Gopal
Dave Henley (guest) wrote:
: I'm using
: sessionInfo.publishSession(false);
: in the init method of my infobus form and it works fine.
: Gopal (guest) wrote:
: : Hi,
: : When an info bus form comes up, it queries the data from the
: : table and shows it up. I want to prevent this. How do I do
: this?
: : In jbcl QueryDataSet there was a parameter to specify this
: : behaviour. But nothing is seen in infobus documentation. Can
: : someone help me please.
: : I tried using rowsetInof.publishSession(false). Still the
data
: : gets quried, only thing is that it is not shown on the
: : components. I want to prevent the initial querying totally.
: : TIA,
: : --Gopal
null -
JBCL 2.0 and Oracle 8.0.5 Objects Option
I4m working with JDeveloper 3.1.1.2 using JBCL components and Data Express to connect to an Oracle 8.0.5 database with Objects Option.
I use a valid SQL like :
SELECT C.DENOMINACION AS DENOMINACION, C.OBSERVACIONES AS OBSERVACIONES, C.FECHA AS FECHA, C.CONSOLIDADA AS CONSOLIDADA, C.COBERTURAS.NOMBRE AS COBERTURAS, C.ES_DE_UN_TIPO_DE_CONVOCATORIA.DESCRIPCION AS TIPO FROM ELE_CONVOCATORIA_ELECTORAL C
QueryDataSets work fine and they return references to objects as they were another column of the dataset but when i try to get data inside them through something like:
queryDataSet1.getString("COBERTURAS");
i receive:
borland.jbcl.dataset.DataSetException: Unknown column name: COBERTURAS
I can4t even count the number of columns, i always get '0' but the queryDataSet shows me in the design panel all the columns correctly.
Does exist any documentation about what4s happening?
Must i look for a newer version of JBCL or redoing all the work?
nulljdev 3.1.1.2 is designed to work with rdbms 8.1.6, so it provides the rdbms 8.1.6 jdbc drivers with it.
Since 8.1.5 came out, it has been a known issue that you can not use jdbc 8.1.x jdbc drivers to access oracle 8.0.x objects with them.
Check the notes section at the bottom of table "Table 2-1 JDBC Driver-Database Compatibility " in thefollowing topic :
"Requirements and Compatibilities for Oracle JDBC Drivers" located at :
http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/java.817/a83724/getsta1.htm#1008206
by the way --
rdbms 8.0.5 went out of support on dec 31, 2000.
i recommend you upgrade to oracle rdbms 8.1.7 ...
i hope this helps ...
null -
Calling infobus form from another.
Hi
Here is a brief description of the problem.
A simple data form is created using JDeveloper2.0's wizard. It is an Infobus based dataframe,which has a simple gridcontrol fetching data from the dept table. This form is in the pacakge,
package1.
Another form is made with a master detail relationship between dept and employee table, in the package, package2.
Now a button control is added on the first form( which is in package1) and the following code is added to the actionperformed event.
void buttonControl1_actionPerformed(ActionEvent e) {
Frame f = new package2.Frame1();
f.show();
Essentially, it calls the form in package2 when the button is pressed. Once this action is performed, the login dialog box of the form in package2 appears. After which it throws the following error and shows a blank form.
DAC-405: SessionInfo: Application module creation failed; className: ConnectionTrade
JBO-00200: A Generic exception occurred during loading Customizations.
null
If I add a button in the second form, (ie. the one in pacage2 having a master detail relationship) and call dept form (in package1) from here, it works.
We are stuck with this problem, and unable to proceed with deploying the application. As each form need to be called and invoked from a menu.
Thanks in advance.
RaviHi,
You can do like this :
mainApplication(Menu)
+------------ Frame1
|
+------------ Frame2
In MainApp you call your frame, and remove from code the
windowListener of the frame. Replace the dispose(); in frame
methods fileExit(ActionEvent e) & processWindowEvent(WindowEvent
e), by try { finalize(); } catch (java.lang.Throwable ex) {
ex.getMessage(); }
It works great.
Bart
Gopal (guest) wrote:
: Hi,
: I am calling an infobus form from another one. Once I close the
: called form, I want the control to go back to the calling one.
: I tried dispose in the called form. It doesnot work. (Gives a
: null pointer exception and crashes everything). Both the frames
: are extended from infoframe. What is the right way to do this?
: Thanx,
: --Gopal
null -
No connections in the combo box of Infobus Data Form Wizard?
I am trying to create a new project but when I try and select a
connection, the "Connection" drop-down combo-box is empty. I have
created 9 connections, but cannot select them. I have tried
adding a new one and editing but still they do not appear.
Am I doing something stupidly wrong here?
Any help would be appreciated,
Thanks,
Andy Shiels
nullJDeveloper Team (guest) wrote:
: Andy,
: The Infobus controls can only talk via the Oracle JDBC drivers
: (thin and OCI only, not Oracle Lite) to an Oracle database
: (again, not Oracle Lite), so the wizard will only display
: connections that meet those criteria.
: If you have created IIOP connections, or connections that use
a
: driver other than the Oracle JDBC Thin or OCI drivers
(including
: the Oracle Lite JDBC driver), these connections will not
appear
: in the list of available connections to use.
: L
: Andy Shiels (guest) wrote:
: : I am trying to create a new project but when I try and
select a
: : connection, the "Connection" drop-down combo-box is empty. I
: have
: : created 9 connections, but cannot select them. I have tried
: : adding a new one and editing but still they do not appear.
: : Am I doing something stupidly wrong here?
: : Any help would be appreciated,
: : Thanks,
: : Andy Shiels
I have a similar problem using JDBC-ODBC bridge with MS access
(just for testing JDeveloper). How do I select the connection,
get pass the step to move on to the next step in the DB Servlet
wizard? Thanks.
null -
Loading A Blank InfoBus Applet
I have created an InfoBus Applet and am wondering if there is any way to load it blank(no data on sreen). By default, it executes the master query and brings the results to screen when the applet loads. Is there a property on the master rowset that needs to be set? What functions are available to rowset or sessionInfo which will allow the applet to load blank, and only execute the master query when the user queries via find dialog? Any help would be greatly appreciated.
Hi,
This could be a combination of numerous things, check the following
- Flash Player version used
- Internet Explorer (IE) version
- How big is the flash file you trying to load. Try using a smaller version and see if it works. That way we can elimiate flash memory related.
Make sure all are in the supported platform for Xcelsius 2008 (What Service Pack are you on?).
Regards,
Ken -
How to get JBO error codes in infobus
Hi,
I am creating an Infobus based form. I am able to trap the
errormessages generated by the system using the error manager.
But I could get only the DAC error codes. I want to get the JBO
error codes also, since they give more meaningful messages. How
do I do this using errormanager?
Please Help
Thanks,
Susan
nullPlease see the reply to the thread "About JBO messages and
DacfErrorMessageContext"
- PSW
Susan Philip (guest) wrote:
: Hi,
: I am creating an Infobus based form. I am able to trap the
: errormessages generated by the system using the error manager.
: But I could get only the DAC error codes. I want to get the JBO
: error codes also, since they give more meaningful messages. How
: do I do this using errormanager?
: Please Help
: Thanks,
: Susan
null -
Can't load any classes from infobus.jar (WL 6.0 SP1)
Hi,
I am deploying an .ear file, which has one .war file in it. The war file, has
infobus.jar, inside it under \WEB-INF\lib. Whenever in my servlet code I try to
load a class from infobus.jar, I get the following exception :
About to load class javax.infobus.InfoBusDataConsumer<<<<<<<<<<java.lang.ClassNotFoundException: InfoBusDataConsumer
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:178)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:45)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:120)
at XDILoginForm.init(XDILoginForm.java:99)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:638)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:581)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:526)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1078)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:1022)
at weblogic.servlet.internal.HttpServer.loadWARContext(HttpServer.java:499)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:421)
at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
at weblogic.j2ee.Application.deploy(Application.java:175)
at weblogic.j2ee.J2EEService.deployApplication(J2EEService.java:173)
at weblogic.management.mbeans.custom.Application.setLocalDeployed(Application.java:217)
at weblogic.management.mbeans.custom.Application.setDeployed(Application.java:187)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeSetter(DynamicMBeanImpl.java:1136)
at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:773)
at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:750)
at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:256)
at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1356)
at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1331)
at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:318)
at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:259)
at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1356)
at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1331)
at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:291)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:173)
at $Proxy7.setDeployed(Unknown Source)
at weblogic.management.console.pages._panels._mbean._application._jspService(_application.java:303)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1622)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
But if I put the infobus.jar on system classpath , everything works out fine.
Can somebody tell me, what is going onGseel is right: you try to instantiate an EJB with the BDK.
Enterprise Java Beans are totally different from graphical/GUI beans. EJBs are thought for dealing with business logic like accessing a database, ldap directory and so on. They run on a application server (simply speaking - a java enabled webserver) and do some processing to handle user requests. Enterprise Java Beans usually don't interact directly with the user, they only do the work in the background and forward their results, which are then rendered for the user. Typically they are employed for handling web requests (a user with a browser), but they can also be used for awt/swing applications. Though - let me repeat - they don't appear visually on the screen.
The only similarities between those two bean types are the following: they have getter/setter methods for their properties, they implement Serializeable (or a sub-interface like Externalizable, Remote) and they have a default no-argument constructor.
If you want to run your been you need an application server (your bean is pre-packaged for the Bea Weblogic app-server). If you want to do something graphical, you'll need to search for GUI beans.
dani3l -
Accessing value of a textfield mapped to an infobus column
I am attempting to access the text value of a textfield mapped to an Infobus column.
In this instance, I am trying to get an account type from the appropriate textfield to pass it to a new query.
I have tried using getText - this returns a string of "oracle.sql.STRUCT@nnnn" (where nnnn is an hexidecimal bnumber)
I also tried creating a method on the textfield using code I found here to retrieve the dataItem, map it to an immediate access control and retrieve the value using getValueAsString().
This approach also returns "oracle.sql.STRUCT@nnnn" of course the numbers are different but as far as I can see, I have know way of knowing if this is the same class or not.
What I am wanting to do is this....
jpLookup.getRowSetInfo().setQueryCondition("ACCOUNTTYPENAME" = '"+tfType.getFieldContents()+"'");
jpLookup.getRowSetInfo().executeQuery();
for testing, I took out the internal single quotes so I could see what was being generated through the sql error dialog. With them in place, I simply get an empty result set since I don't have any account types of 'oracle.sql.STRUCT@nnnn'
SO, could someone point me in the right direction??TextFieldControl tField = new TextFieldControl();
((ImmediateAccess)tField.getDataItem()).getValueAsString();
Linda -
Where i can find the .jar file for com.borland.jbcl package
when i rebuilt my application i met this error message
package com.borland.jbcl.layout.XYLayout does not exist
please help
thanksHi,
Check out the "download" link at the following address.
http://cougaar.org/cgi-bin/viewcvs.cgi/jars/lib/jbcl.jar?cvsroot=core
Hope that help,
Jack -
Package com.borland.jbcl.layout does not exist
im using JBuilder X and getting this error message:
package com.borland.jbcl.layout does not exist
considering that JBuilder has some problem i compiled the classes using command prompt but even then the same error appeared. plz help me its part of my final project of a courde.
Some ppl in diff forums have said that jbcl has been deprecated but making gui in JBuilder is much easier. and i only know of making frames in XYLayout,,,,,,,
If i dont have the package plz let me know how can i get it and if i have it then tell me how can it get it and where and how to installPut the jars or classes in the com.borland.jbcl.layout package into your CLASSPATH. You have referenced them in your program, the compiler is looking for them, but it cannot find them, so it cannot compile your program.
-
How to Commit in InfoBus Data Items
Hi,
I created an Applet using JDev2.0. I called the DB schema using
Connection Manager, InfoBus Data Items, SessionInfo and
rowSetInfo.
I customised the UI form using Infoswing. As per my logic, after
user modified the data and press the SUBMIT button, I should call
the commit for the rowSetInfo.
How can I issue commit or how to resolv the modified rowSetInfo.
Previously I used Jdev1.1 and Borland's dataset and it works
fine.
Now, Oracle is not supporting Borland's dataset and AWT. So, now
I am rewritting the whole application using JDev2.0.
Thanks in advance.
Ramesh S.
nullHi,
If your jsp is of type <ViewName>_SubmitInsertForm.jsp created by JDeveloper,then it should be having NavigationBar,EditCurrentRecord and ViewCurrentRecord, in that order
If that is the case, you should also see a "Save Changes" Button in the form, which should commit the changes to the database
--Sandeep -
To access a sequence.nextval from Infobus applet
Hi
I have Infobus Dataform applet which displays the columns of the
table - timesheets which has a column "line_item" which has to
get it's value from a database sequence.
So I followed the approach followed in the Acme - sample
application ViewMembers.java.
Which the row added event of the RowsetInfo -
The following code was added with my Rowset and sequence used.
void ACME_MEMBERSIter_rowAdded(RowChangeEvent e) throws
java.sql.SQLException,
javax.infobus.DuplicateColumnException,
javax.infobus.ColumnNotFoundException,
javax.infobus.InvalidDataException
RowsetAccess rsa = e.getDataItem();
DbAccess dba = rsa.getDb();
RowsetAccess seq = null;
seq = (RowsetAccess)dba.executeRetrieval(
"select acme_member_id_seq.nextval as
\"new_id\" from dual",
"infobus:/oracle/sessionInfo1/new_id",
null);
ImmediateAccess nv = null;
ImmediateAccess column_id = null;
nv = (ImmediateAccess)seq.getColumnItem("new_id");
column_id = (ImmediateAccess)rsa.getColumnItem
("MEMBER_ID");
column_id.setValue(nv.getValueAsString());
This does not work when I run it from Jdeveloper I have debugged
it an umpteen times and still no clue.
The statement
(RowsetAccess)dba.executeRetrieval(
"select acme_member_id_seq.nextval as
\"new_id\" from dual",
"infobus:/oracle/sessionInfo1/new_id",
null);
JUST DOES NOT WORK.
Please help.
Regards
Rajs
nullHi Shachar,
When SEQUENCE_SETUP/RESETUP is called, I need to modify the arbitrary data.
Arbitrary data can be accessed in 2 ways (as per my knowledge)
1. GetNewStreamValue() & SetStreamValue() (for this I need AEGP_EffectRef which will be NULL for the new effect when it comes to SEQUENCE_SETUP/RESETUP).
2. If PF_ParamDef* params is not NULL then,
PF_Handle arbH = params[PARAM_ID]->u.arb_d.value;
CG_ArbData *arbP;
arbP = reinterpret_cast<CG_ArbData*>(PF_LOCK_HANDLE(arbH));
In the first way, when SEQUENCE_SETUP/RESETUP is called AEGP_EffectRef is NULL, so I cannot use it.
In the second way, when SEQUENCE_SETUP/RESETUP is called PF_ParamDef* params is NULL, so I cannot use it.
Any ideas? -
Dynamic Table setup (Infobus)
Hi,
I will first describe my environment application and then the problem.
I want to create an Infobus GridControl, without using the designer. To setup the Rowsetinfo to which the GridControl will be bound, I perform a "select * from TABLE", using a normal JDBC coneection and looking into the metadata. Thus I have the names and types of all attributes. Next I build an array of ColumnInfo objects, in which each object is an AttributeInfo, with the name and type previously obtained, and finally I use the Rowsetinfo.setAttributeInfo().
The next step is RowsetInfo.setQueryInfo(), in which I'm not sure if the parameters (AppModule and so on) are completely right, but it works.
Finally I publish the session, and my grid gets populated with the data. Perfect, isn't it?
My problem starts when I want to insert or delete a row. I can navigate, but not modify, and I get the error: JBO 01206: ViewDefImpl is Read only". How can I avoid this, and be able to insert a row? Deep inside the RowsetInfo, there is a member, mReadOnly, which belongs to another object of class ViewDefImpl, that is set to true. If I build the app using the designer, this property is false, but I do not know how to change it. Any ideas or workarounds will be much appreciated. if you need more information, please contact me.
By the way, where can I get more in-deep information about InfoSwing components?
Thank you very much
Alberto
nullYour question is too general. Please refer to the documentation.
Regards,
Robin Zimmermann
Forms Product Management -
Infobus data form wizard returning ORA-03115
Hi,
I was trying to create a single table data form using (JBuilder2
)infobus data form wizard and during the step 3 (select database
objects)i got following error:
>>
ORA-03115 Unsupported network data taype or representation
java.sql.SQLException
<<
I was connected to Oracle 8.0.5 database runing on AlphaVMS!
What I am doing wrong ?
Thanks
Nadeem
nullNadeem Siddique (guest) wrote:
: Hi,
: I was trying to create a single table data form using
(JBuilder2
: )infobus data form wizard and during the step 3 (select
database
: objects)i got following error:
: >>
: ORA-03115 Unsupported network data taype or representation
: java.sql.SQLException
: <<
: I was connected to Oracle 8.0.5 database runing on AlphaVMS!
: What I am doing wrong ?
: Thanks
: Nadeem
I have tried all the JDBC /JDBC OCI drivers ! and geting the
same error as mentioned above!
null
Maybe you are looking for
-
After installing Mavericks, the Time Machine icon on upper right banner no longer rotates when backing up to Time Capsule. Also, the Time Machine Icon is no longer showing on desktop when backing up. In system preferences, Time Machine, I can see t
-
Error in the Adobe Flash Player in EPM WEB Screen
Hi Team , We are using EPM 10 NW SP 15 . While logging in the SAP EPM 10 Web screen , We are getting one error related to Adobe Flash payer That's Error asking 2 options one is Dismiss & Another is continue. Please let me know , Why this error pop me
-
Quadrature encoder synchronize sample
Using a USB-6251 to measure a quadrature encoder, i would like to determine the angle that an external discrete changes state. I tried connecting the discrete to a DIO input and using CVI PC code to read the encoder angle when the change of state oc
-
Just download Adobe Reader XI for windows 8.1, it doesn't work. My OS is Windows 8.1 64-bits. Two dialogues appear as 1.) AcroRd32.exe Error, The instruction at 0x9068675f reference memory at 0x9068675f. The memory could not be written. Click on
-
If im on the net and I want to save a picture, I have no right click button how do I save a picture? Sorry if this sounds stupid im new to Mac. Thanks, Juls