JPA and database error handling
Can anyone point me towards any information or discussions on methods of handling database initiated exceptions with JPA? Specifically, I'm trying to handle common data exceptions, like primary/foreign key violations etc., so I don't have to duplicate that level of data integrity checking in my business logic.
It seems I can only get hold of a RollbackException if something goes wrong. Ok, I can get into the underlying cause easily enough, but then I'm straight into implementation specific stuff (in my case, Hibernate exceptions). Are there any good techniques/patterns to reduce this dependency to an absolute minimum?
In this situation I created @Id for one of the columns or created @IdClass from all view fields.
Similar Messages
-
New SOD and enhanced error handling?
Hi,
I have been studying the new SOD. It looks very good. The only thing I am missing is enhanced error handling. Has this been dropped or is it under "Numerous functional and performance improvements"?
Being able to catch exceptions from database triggers etc. is the only bigger flaw I see in this great tool ;-)
Regards PetePete,
Yes we are still intending to enhance our error handling capabilities.
We have not finalized exactly what enhancements we are making with these yet.
Regards,
David
Message was edited by:
dpeake -
hi ,
How can i represent my DataBase View in JPA , and since each "Entity" should have an "@Id" how can i handle this on my views since some of them does not have a convenient ID field/fields , ThanksIn this situation I created @Id for one of the columns or created @IdClass from all view fields.
-
SAP NetWeaver Gateway and JSON Error Handling
Hello All,
I am developing a small test application using Netweaver Gateway to understand the error handling. I am using Postman to test the Gateway service. I have developed small RFC FM to read return list of deliveries for a shipment. The RFC reads in a shipment number and returns the list of deliveries. The RFC also has Return parameter of type BAPIRET2 that stores the error message if shipment is not found. We want to use only JSON format for the application. So, I have set the 'Accept' parameter at request header to 'content/json'. I am also aware of the exception /IWBEP/CX_MGW_BUSI_EXCEPTION that allows to throw an error message from backend suite. I have that by having a Return parameter of type BAPIRET2, the generated method automatically handles the error message and sets the correct HTTP status.
Now the Problem:
As mentioned earlier, we want to use JSON format. When I set the header parameter or specify $format=json in the URI the HTTP status code is always set to 500 when there is an error. The error message about invalid shipment also is not returned.
When I remove the JSON format parameters, the XML format is returned and HTTP status is set to 400 with appropriate error message.
How can we get the Gateway to set the HTTP status code to 400 along with error message in the event of an error in RFC. I have tried with the exception /IWBEP/CX_MGW_BUSI_EXCEPTION and BAPIRET2 return parameter but still does not work. Is this a known issue in Gateway/JSON?
Please see attached screenshots.
Thanks,
Rutul ThakkarAnyone have encountered this issue? Any suggestions?
Thanks,
Rutul Thakkar -
Flex and Coldfusion error handling
Hello! I was wondering if someone could point me in the right direction regarding error handling in a Flex app thats using an HTTPSERVICE RPC to a Coldfusion component.
If a user is entering form data in Flex and clicks submit... the data is sent via the HTTPSERVICE send method as XML to the CFC. But what if there is a Coldfusion SQL insert statement error? Say a user enters a character in a number field (now i know the best thing to do would be to have actionscript ensure that the values entered are numbers but lets keep that aside just for this example). How could I alert the user to let them know the CFC encountered a SQL error? Or better yet... alert them that everything went "A" ok and their data was successfully submitted.
I originally thought to put CFTRY and CFCATCH around the CFC code. I could do that fine, but had trouble passing back a message string so that FLEX could use it in an Alert.Show window.
Thanks!
-BosDogHey Mike,
Sorry after I posted I thought "this may be a question for CF guys as well".
I definitely use and love RemoteObjects. Its great for binding to datagrids and to run SQL to return data from the server back to Flex. I've struggled with successfully passing variables from Flex to CF using RemoteObject though. Say a dataform with 5 text fields & 2 combo box dropdowns.
I think you may have forgotten to post the link to the article for me to read... i didnt see it in your last post?
Thanks! -
Hi people...
I working with JPA and Hibernate and i have a View in my Database and i need to map this View. It's this possible? Some have an example to show me?.
Thanks!I hope this link help you
http://forums.java.net/jive/message.jspa?messageID=244187
I�m having a similar problem, I�m developing using JPA and now I need to bring values from some views on database but I still don�t know how.I�m still Java jr and I didn�t understand clearly but I guess that the link can help you, and if it�s true please explain me. -
Installing UCM. My database is oracle XE universal. created user called ucm and SETTING up the XE database FOR UCM (SID is XE)
Following is the last step according to the manual but am getting error as shown below. Any idea ? solution ?
SQL> @C:\Oracle\ucm\server\database\oracle\admin\batchsnippet.sql
CREATE OR REPLACE TYPE stellent_snippets IS TABLE OF VARCHAR2(4000);
ERROR at line 1:
ORA-01031: insufficient privileges
CREATE OR REPLACE PACKAGE stellent IS
ERROR at line 1:
ORA-01031: insufficient privileges
CREATE OR REPLACE PACKAGE BODY stellent IS
ERROR at line 1:
ORA-01031: insufficient privileges
thanks
ddOk, now when I try to Start the UCM server I get following exception. Any idea? ? My database is already started.
nds CoreUserInterfaceLibrary feature(s)
'PopUpCalendar' component, version '2008_06_24 ($Rev: 64134 $)', extends PopUpCa
lendar feature(s)
'YahooUserInterfaceLibrary' component, version '2008_08_05 ($Rev: 65289 $)', ext
ends YahooUserInterfaceLibrary feature(s)
'iTextComponent' component, version '2007_10_15 (build 2) ($Rev: 56511 $)', exte
nds iTextComponent:2.0-1.0.0.2 feature(s)
Failed to initialize the server.
(internal) 09.24 09:11:40.171 main !csFailedToInitServer (!csDbUnab
leToPerformAction_create,ManagedLinks!$ORA-00955: name is already used by an exi
sting object
)-exception stack
intradoc.common.ServiceException: !csDbUnableToPerformAction_create,ManagedLinks
!$ORA-00955: name is already used by an existing object
at intradoc.server.IdcServerManager.init(IdcServerManager.java:148)
at IdcServer.init(IdcServer.java:64)
at IdcServer.main(IdcServer.java:37)
Caused by: intradoc.data.DataException: !csDbUnableToPerformAction_create,Manage
dLinks!$ORA-00955: name is already used by an existing object
at intradoc.jdbc.JdbcWorkspace.createTable(JdbcWorkspace.java:1446)
at intradoc.server.IdcExtendedLoader.createTable(IdcExtendedLoader.java:
2682)
at linkmanager.LinkManagerInstallFilter.linkManageUpgrade(LinkManagerIns
tallFilter.java:92)
at linkmanager.LinkManagerInstallFilter.doFilter(LinkManagerInstallFilte
r.java:54)
at intradoc.shared.PluginFilters.filter(PluginFilters.java:92)
at intradoc.server.IdcExtendedLoader.executeFilter(IdcExtendedLoader.jav
a:285)
at intradoc.server.IdcExtendedLoader.extraBeforeCacheLoadInit(IdcExtende
dLoader.java:255)
at intradoc.server.IdcSystemLoader.loadCaches(IdcSystemLoader.java:928)
at intradoc.server.IdcServerManager.init(IdcServerManager.java:79)
... 2 more
Caused by: java.sql.SQLException: ORA-00955: name is already used by an existing
object
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:961)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:1190)
at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatem
ent.java:1657)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java
:1626)
at intradoc.jdbc.JdbcFunctions.executeUpdateQuery(JdbcFunctions.java:116
2)
at intradoc.jdbc.JdbcFunctions.executeCreateTableQuery(JdbcFunctions.jav
a:1068)
at intradoc.jdbc.JdbcWorkspace.createTable(JdbcWorkspace.java:1433)
... 10 more
Unable to create table 'ManagedLinks'. ORA-00955: name is already used by an exi
sting object
ORA-00955: name is already used by an existing object
intradoc.common.ServiceException: !csDbUnableToPerformAction_create,ManagedLinks
!$ORA-00955: name is already used by an existing object
at intradoc.server.IdcServerManager.init(IdcServerManager.java:148)
at IdcServer.init(IdcServer.java:64)
at IdcServer.main(IdcServer.java:37)
Caused by: intradoc.data.DataException: !csDbUnableToPerformAction_create,Manage
dLinks!$ORA-00955: name is already used by an existing object
at intradoc.jdbc.JdbcWorkspace.createTable(JdbcWorkspace.java:1446)
at intradoc.server.IdcExtendedLoader.createTable(IdcExtendedLoader.java:
2682)
at linkmanager.LinkManagerInstallFilter.linkManageUpgrade(LinkManagerIns
tallFilter.java:92)
at linkmanager.LinkManagerInstallFilter.doFilter(LinkManagerInstallFilte
r.java:54)
at intradoc.shared.PluginFilters.filter(PluginFilters.java:92)
at intradoc.server.IdcExtendedLoader.executeFilter(IdcExtendedLoader.jav
a:285)
at intradoc.server.IdcExtendedLoader.extraBeforeCacheLoadInit(IdcExtende
dLoader.java:255)
at intradoc.server.IdcSystemLoader.loadCaches(IdcSystemLoader.java:928)
at intradoc.server.IdcServerManager.init(IdcServerManager.java:79)
... 2 more
Caused by: java.sql.SQLException: ORA-00955: name is already used by an existing
object
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:961)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:1190)
at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatem
ent.java:1657)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java
:1626)
at intradoc.jdbc.JdbcFunctions.executeUpdateQuery(JdbcFunctions.java:116
2)
at intradoc.jdbc.JdbcFunctions.executeCreateTableQuery(JdbcFunctions.jav
a:1068)
at intradoc.jdbc.JdbcWorkspace.createTable(JdbcWorkspace.java:1433)
... 10 more -
Database Exception Handling Error
Hi
Platform: BPEL/SOA Suite 10.1.3.3
I created an async BPEL process that does a simple insert into a database, and added error handling to ensure that database errors are trapped and interested parties notified when errors occur. To test the exception handling, I created a dummy table with an id and value column, where the value is declared as varchar2(1). Then I invoked the BPEL process with a string value longer than 1 character.
I expected to have the process catch the error, execute a java embedded System.out.println, assign the fault details to a fault variable string, and then terminate, with the terminated process displayed in the BPEL Console. Much to my surprise, as this executed perfectly in BPEL 10.1.2, this did not happen. Instead, the java embedded System.out.println executed, but then the following error was generated and the BPEL process was sent to the Manual Recovery area.
2007-10-18 10:52:29,879> <ERROR> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.DBInteraction executeOutboundWrite> unable to execute the outbound insert operation on: DBAccessDummyTable.TestDummy
<2007-10-18 10:52:29,879> <ERROR> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/E:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_Test_DummyTable_Async_1.5_709050a551839440870cf17aba79c0f7.tmp/DBAccess_DummyTable.wsdl [ DBAccess_DummyTable_ptt::insert(TestDummyCollection,TestDummyCollection) ] - Could not invoke operation 'insert' against the 'Database Adapter' due to:
ORABPEL-11616
DBWriteInteractionSpec Execute Failed Exception.
insert failed. Descriptor name: [DBAccessDummyTable.TestDummy]. [Caused by: ORA-12899: value too large for column "ALE_ADAPTER"."TEST_DUMMY"."DUMMY_STRING_VALUE" (actual: 4, maximum: 1)
Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.3.0) (Build 070608)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-12899: value too large for column "ALE_ADAPTER"."TEST_DUMMY"."DUMMY_STRING_VALUE" (actual: 4, maximum: 1)
Error Code: 12899
Call:INSERT INTO TEST_DUMMY (DUMMY_ID, DUMMY_STRING_VALUE) VALUES (?, ?)
bind => [280, long]
Query:InsertObjectQuery(<TestDummy 280 />).
at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:469)
at oracle.tip.adapter.db.exceptions.DBResourceException.outboundWriteException(DBResourceException.java:510)
at oracle.tip.adapter.db.DBInteraction.executeOutboundWrite(DBInteraction.java:963)
at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:225)
at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:485)
at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:435)
at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:443)
at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:251)
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:727)
I decided to test this on my local SOA Suite, instead of deploying to the development server, and again to my surprise, the exception was caught and handled as expected, with no errors thrown. I then realized that I hadn’t set up the datasource, connection pool, and DbAdapter connection factory in Enterprise Manager for the database being used. I configured these appropriately, and once again the above error happened, this time on my local SOA Suite. I removed the connection from the DbAdapter connection factory, and the exception was once again caught and handled appropriately.
Since our database passwords have to be changed periodically, we are required to configure the datasource etc on the server so password management can be done in one place. That being the case, I’m hoping someone can provide some ideas to help resolve this issue. I tried changing a few of the database settings in Enterprise Manager (using dataSourceName instead of xADataSourceName, setting usesBatchWriting to false instead of true) but none of these changes worked.
ThanksYou should look into Bridge [GOF:151] and Memento [GOF:273].
Bridge allows you to decouple your mechanism from the implementation memento on how to propergate the decoupled exception information. -
Dear All,
I searched the forum but could not find a full answer to my question.
How can you handle errors in B1if?
When something goes wrong the errormessage is displayed in the failure section of the message log.
I found out that on the package design in the defintions section you can choose document "error handling".
There you should be able to choose your error handling step.
For now I only see the default error handling step.
How can you create such a error handling step?
Does somebody has some full documentation on this subject?
I guess we must create a new step design with inbound type Predecessor or am I wrong?
Thanks in advance for any help.
Kind regards,
StevenHi Vijay,
Create a package with your development in a step.
Create a second step called for instance: errorhandling
This errorhandling step must be of inbound type internal queue
In the errorhandling step you can handle the error as you like... for example email it or save it in a user table in B1.
The trick is:
Go to package design - select your package - press definitions buttons and select error handling
Here you select your errorhandling step instead of default error handling.
Save everything.
When you scenario goes into error during the processing the errorhandling step will be carried out.
That is it.
Kind regards,
Steven -
I found something wich seems a bug in error handling.
I created a JClient application and I declared my error handler using JUMetaObjectManager.setBaseErrorHandler.
It works normaly.
I created a method wich I connected to the WindowClosing event.
In that method I throw a JBOException in order to inform the user the operation can't be executed.
However I see that message only into the console and my error handler (wich shows a Dialog) is not used.
What's the problem ?
Tks
TullioRepost
-
I get this exception as soon as I provide a reference to ErrorHandlerClass in DataBindings.cpx
Error 500--Internal Server Error
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.InstantiationException, msg=empexceptions.model.EmpDCErrorHandler
at oracle.jbo.common.JBOClass.newInstance(JBOClass.java:253)
at oracle.jbo.uicli.mom.JUApplicationDefImpl.initializeBindingContext(JUApplicationDefImpl.java:1242)
at oracle.jbo.uicli.mom.JUApplicationDefImpl.populateContext(JUApplicationDefImpl.java:1215)
at oracle.jbo.uicli.mom.JUMetaObjectManager.loadCpx(JUMetaObjectManager.java:713)
at oracle.adf.model.BindingRequestHandler.initializeBindingContext(BindingRequestHandler.java:399)
at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:182)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:189)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.InstantiationException: empexceptions.model.EmpDCErrorHandler
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at oracle.jbo.common.JBOClass.newInstance(JBOClass.java:245)
... 34 more
DataBindings.cpx looks like this
<?xml version="1.0" encoding="UTF-8" ?>
<Application xmlns="http://xmlns.oracle.com/adfm/application"
version="11.1.1.55.36" id="DataBindings" SeparateXMLFiles="false"
Package="empexceptions.view" ClientType="Generic"
ErrorHandlerClass="empexceptions.model.EmpDCErrorHandler">and my error handler class looks like this
package empexceptions.model;
import oracle.adf.model.binding.DCBindingContainer;
import oracle.adf.model.binding.DCErrorHandlerImpl;
public class EmpDCErrorHandler extends DCErrorHandlerImpl {
public EmpDCErrorHandler(boolean b) {
super(false);
@Override
public void reportException(DCBindingContainer dCBindingContainer,
Exception exception) {
super.reportException(dCBindingContainer, exception);
}Am I doing anything wrong here?hi Harry
See "28.10 Customizing Error Handling"
at http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/web_adv.htm#ADFFD1398
that says "... The exception error handler must have a default constructor, as shown in Example 28-27. ...".
success
Jan Vervecken -
Error handling workflow not getting triggered
Hi all,
I'm creating a outbound IDoc. And for error handling workflow.. I created a organization structure in PPOME and assigned users. I gave this position number thus created in the partner profile in post processing permitted agent tab.
But when the Idoc is in error, this is not coming to my inbox.
Can someone please help me with this.. and let me know what went wrong.
Thanks in advance.Here you need to be careful,
if the agent assignment is not maintained properly, there may be a chance everyone in the organization will get the item.
I hope you have created a single workitem for error handling. goto additional data-> agent assignment-> maintain. make sure the attribute is defined as general forwarding allowed. or you maintain the role/position/user/whatever.as the possible agents. still you dont get the result, debugging the default rule in the task ->default rule -> agent.
hope this helps.
with regards,
Sudhahar R -
Query related to error handling
hi All,
In my proxy flow i have stage level error handler which is configured to an alert pointing to an JMS error queue. When i added service level error handler with same alert.
I am getting duplication of the same error message by stage and service error handler.
For every error i am receiving 2 error messages at the error queue.
Is there any option in ALSB which allows me stop the duplication.Pls check the following script --
SQL>
SQL> create or replace package uu_test
2 is
3 begin
4 test
5 end;
6 /
Warning: Package created with compilation errors.
SQL>
SQL> select * from user_errors
2 where type = 'PACKAGE';
NAME TYPE SEQUENCE LINE POSITION
TEXT
UU_TEST PACKAGE 1 3 1
PLS-00103: Encountered the symbol "BEGIN" when expecting one of the following:
end function package pragma private procedure subtype type
use <an identifier> <a double-quoted delimited-identifier>
form current cursorHope this will fullfill your requirement.
Regards.
Satyaki De. -
WSN 9791, 3202 error handling
I have setup a 9791with 3202 and attached a 250ohm resistor to measure a 4-20mA signal at AI0 of the 3202. I am continously measing the input voltage and I am also checking battery voltage, link quality, external power and error messages with simple error handling. Everything seems to work fine. Now I disconnect power from the 3202 and remove the batteries. Surprisingly the input voltage at AI0 remains its value, the battery voltages remains the same, it show that external power is present and the error handling shows no error. After 3 minutes MAX will indicate that the signal has been lost. The VI shows that the external power has been disconnected. All other values remain the same
I am using LabVIEW 2009FDS and I do not have Pioneer or any other additional software.I have updated the firmware of the 9791 and 3202 to the latest revision.
How can I show in my VI that the signal has been lost? MAX seems to be able to do it, but only after 3 minutes.Why does the error handling never show anything? Why does the link quality remain the same when signal is lost?
Thanks
Solved!
Go to Solution.I am not very impressed by this. I have always been with any NI hardware that I have purchased in the past. I am not sure why there is an error in/out, it does not do anything. The time server as an indicator if the data is old or not would be great IF I had access to a time server. This application will be setup where I have only power and no internet available. Even if I did it would not work because I have to turn off any other network connection to make it work. I have treid the Meinberg time server. It worked once and now I get 12/31/1903 again. As a minimum I would think that the Link Quality would go to 0 and not retain its value. This seems like a firmware issue that NI should fix asap. This seems not reliable for a stand alone executable.I should be able to select time server or OS system clock. I realize OS system clock may not be very accurate but at least it is something to use for time stamp. NI should also fix that in a future firmware rev. At this time I am leaning towards dumping the NI-WSN and look for something else. I guess I could buy the additional software like RT/pioneer that might allow me to do what I want but the added cost will not be appreciated by my boss. For that money I might be able to purchase something else.
-
Hi everyone
I have a basic/principal question regarding subvi's and associated error handling.
Say I have an DLL which contains a function that takes input a and b, outputs c and d and that I want to wrap this function call (plus additional logic) into a SubVI. I can imagine this done in two ways with error handling:
Which one is the most "correct" (or pretty or smart) way to do it?
Best regards
WuhtzuFirst off, I agree with nathand that you do not need the case structure (the Call Library Function Node handles it).
Second, if you are wrapping DLL functions, take a look at the import DLL tool. (Tools->Import->Shared Library in the menus). It will create wrappers for your DLL functions -- then you just have to test them and make some tweaks
For example, if you have a parameter which is a pointer, the tool will make you an input and an output (since it can't tell which it is meant to be, and might be both). Often you really just want it as an input or just as an output, so you have to change that (and make sure, if an output, that you have someplace to put it; in some cases you will need to make a constant of that type and pass it into the Call Library Function node, and then pass it out.
I have had a lot of success using this tool, and it saves a lot of repetetive grunt work.
B.
Maybe you are looking for
-
Migrating with RMAN from 10g to 11g
Hi gurus, I am following the following procedure to migrate database from 10g to 11g using rman Source side: RMAN>connect target RMAN>backup database; RMAN>backup archivelog all; RMAN>backup current controlfile; SQL> create pfile from spfile; Copied
-
Labview FPGA 1.0 or 1.1
Hi. Does anyone have an evaluation version of LabVIEW FPGA 1.0 or 1.1 ?
-
when tryin to load SDM or a router i get this error "RPC is denied thought the connected interface update cannot proceed" this is after the correcte authentication to the devices and selecting the SDM(or SDM express) to be loaded when tryin to use th
-
Addition of custom tab and fields in cProject
Hello Experts, I need to add custom tab and fields in cProject project definition level(type DPO). As it is given in IMG help, there are two ways of doing this. 1) Addition of data in CI_DPR_PROJECT and Creating the field groups and including these f
-
Why is ios 7 not available yet
why is ios 7 not available yet