Hi there, I want to truncate a string so that it is small enough to fit into an external DB from a Talend csv file output. What I have is the following: row1.OOH_Type.substring(0,150) However, I get an index out of range error in the tmap component because I suspect that there are blank cell values which is throwing up null values that causes exceptions when I try to truncate a value. Anyone know an expression I can write to take care of null values as well as truncate my string to the required size at the same time? Thanks, Facoda
... View more

Hi there, Yeah but initially that did not fix the issue. What I did was for the tFileOutputDelimited (taken from repository) I linked it to the tUnit and then synced the columns. Then on the 2 tFileInputDeilimited I copied over the columns to these components from tUnit schema and that seemed to work. This is what I can remember. Thanks, Facoda
... View more

Hi Sabrina, The issue seems to be resolved. I'm not sure why it did not work the first time but it might have been a bug so I recreated all the jobs. I think the issue was with the schemas being different between the tUnit component and the tFile output and input delimited components. Thanks, Facoda
... View more

Hi there, I recreated the unite job again (for the second set) and re-created the ETL for the output of the second set of 2 files. This time it work. It seems it was an issue with the schema or replication of the schema or schemas not being the same between the tUnit, tFileDelimitedOutput and Input files. Anyway, I can't give a definite answer as to why it's working but it's more likely to be a schema mismatch some where along the process. Thanks, Facoda
... View more

Hi xdsi, Please see below the version I'm using. Below is the schema Do you think the length of the product name field could be affecting the unit. In the schema I have defined the length as 10/String but in one of the files in the set 2 value for one record in the product name is actually about 40 characters. I'll look into this but wondering if this could be the cause.... Thanks,
... View more

Hi there, I am attempting to use tUnite component to merge two sets of csv files (2 in each set). Both sets have exactly the same schema (that is to say the same number of columns). Both sets were produced from a previous DI job in Talend. Now the problem is I can merge the first set but I cannot merge the second set and I cannot think of a reason why the second set will not merge. All 4 CSV files are in the exact same format/schema (although containing different sets of data). Is there any reason why a tUnite component will not merge input files? Thanks, Facoda This is the job of the first set that works This is the job of the second set as can be seen not output to tLogRow
... View more

Hi Shong, I can't seem to get count of the number of rows in the single date column. Please check my job in the screenshot sample: I've setup the tFileExcelSheetInput to read the single date column. But when I use the tAggregateRow and the count functions it just counts the same dates and aggregates the number. I know this is aggregation. How could I just return the number of rows in the date column that I have setup to attached to a global variable? Thanks, Facoda
... View more

Hi there, The tFileExcelSheetInput is a great component for extracting data from Excel sheets. However, one thing I'm stuggling with is to be able to limit the rows extracted based on a blank cell in a single column. There is an option to limit rows by ticking 'Stop at empty row'. However, the spreadsheets I'm dealing with are quite messy in the sense that I need to base my extraction on the column A having a date value. If column A does not have a date value then stop row extraction because there are rows without date values and I don't want these rows but the component will carry on extracting rows until it meets a completely empty row. Please see image. I was thinking in the tFileExcelSheetInput component settings where it says 'Limit rows to' I could put in a global variable from the result of some sort of counter that will return the number of rows in just the date column. If this is possible how could I do it in practice? Thanks, Facoda
... View more

Hi there, I'm required to output a csv file from a Talend ETL process in UTF-16 Little Endian. It seems that for the tFileOutputDelimited component when I enter "UTF-16" under advanced settings for customer encoding it only outputs a Big Endian csv file which gets rejected by another ETL pipeline (unless it's in Little Endian). How can I output a CSV file in UTF-16 Little Endian in the customer encoding part of the tFileOutputDelimited component? Thanks Facoda
... View more

Hi there, I'm building a job that takes dates from an Excel spreadsheet. In tMap I use the date format for the input and output row on this particular date field: "yyyy-MM-dd'T'HH:mm:ss" and it rightly gives a delimited output of '2014-09-17T00:00:00. But in a further ETL process I am required to give the date format as YYYY-MM-DD. How can I strip out the 'HH:mm:ss as I can't find the exact date format in the possible formats available in Talend. Thanks.
... View more

Hi Shong, I'm not sure I totally understand this flow that you have. 1.(String)globalMap.get("row1.sheetName") is a global variable but the tFileInputDelimited does not have such a variable output that it can pass onto another component? I'm not sure how you can get the sheet name from the tFileInputDelimited component. The tFileExcelSheetList is the only component that I know that can give me the sheet list as a variable such as- (String)globalMap.get("tFileExcelSheetList_1_SHEET_NAME")) 2.Defining (String)globalMap.get("row1.sheetName") in the column of tFileInputDelimited I'm not sure where the value for sheetName is coming from. Thanks
... View more

Hi there, I have a job that is as follows: It takes the value from specific cells from all the sheets in the workbook from the tFileExcelInput. It takes values from multiple cells and assigns them to a context variable. Each sheet is a row is the way to think of it. I'm just stuck on how to output all the rows i.e. context variable values returned to either a tLogRow or OutputDelimited file? Thanks, Facoda
... View more

With all due respect to the author of this book I found it hard to follow and some of the methods seems to be out of date with consequent upgrades of Talend for example creating entities and data models in MDM is totally out of date in the book. The consequence is that when you try some of the exercises they don't actually work and you're left to come back to this forum or go through trial and error to figure out something. So far Talend seems to be in principle a great product especially due to it's hundreds of components and more available to download but interms of usability compared with SSIS (which has loads more user manuals) it doesn't come close. I think this is really the stumbling block for Talend... but otherwise from using Talend Integration with the cookbook from Packt you realise it is a powerful product.
... View more

Hi Jlolling, The actual solution that I need that is perfect for what I want to do is here: Extracting data from specific Excel cells tutorial But I can only get the solution to select the specific cells on the first sheet (even if I select 'All Sheets' on the tFileInputExcel component) the whole solution does not cycle through all the sheets in the entire workbook. Actually, in the screenshot below it looks like the 'All Sheets' selection is working as it is cycling through a significant amount of rows. However, the tFixedFlowInput is only returning one row it would seem. Maybe I need to use another component rather than the tFixedFlowInput? Any suggestions? Thanks, Facoda
... View more

I'm not sure I understand. Increasing the row just duplicates the cell output. For example, if I cycle through 2 Sheets and 1 cell on each sheet then I just get 2 copies of the same value = 4 rows. That's if I put 2 rows in the FixedFlowInput?
... View more

Sorry to be pestering here. I'm not sure it's possible to reference more than one cell per sheet. The outputs are single cells only. For example if I want to reference the following ranges in a single sheet in Excel: 1. D7:E8 2. H8:H10 I couldn't do it unless I was using multiple tFileExcelReferenceCellInput component for each cell value? Thanks, Facoda
... View more

Hi Jlolling, I've tried again referencing a new workbook and the same setup that wasn't working for me before now works like magic. I really don't know what to say. But thanks for your help. Facoda -PS Also using this job could I get multiple cell values per sheet or a range per sheet? I want to get more than just one cell value
... View more

There is definitely a value in Sheet1 as can be seen in the diagram below: The tLogRow output is strange though for sheet index. It's 0 as can be seen. Shouldn't it be returning 1 from the return variable?
... View more

Hi Jlolling, Thanks for your assistance. I have setup my job as recommended but I'm having problems: Exception in component tFileExcelReferencedCellInput_1 java.lang.Exception: Cell does not exists: ref=null sheet=1 row=2 col=B at media_spend_harmonisation.excelcell_0_1.ExcelCell.tFileExcelSheetList_1Process(ExcelCell.java:1790) at media_spend_harmonisation.excelcell_0_1.ExcelCell.tFileExcelWorkbookOpen_1Process(ExcelCell.java:427) at media_spend_harmonisation.excelcell_0_1.ExcelCell.runJobInTOS(ExcelCell.java:2480) at media_spend_harmonisation.excelcell_0_1.ExcelCell.main(ExcelCell.java:2339) I cannot understand this. Even when I put the index of the sheet as one still same problem i.e. the cell does not exist clearly the return variable for sheet index is correct. This is confusing. Thanks, Facoda
... View more

Hi there, I would like to read particular cell values (same location) from every single worksheet in a particular workbook. So far I can only read particular cell values in just one sheet using the technique described here: Extracting data from specific Excel cells. For some reason (I still have an issue pending on this forum about it) I cannot cycle through all the sheets having selected 'All Sheets' in the tFileInputExcel component. Now I'm trying a second technique setting up my process as shown in the diagram attached. The question I have are: 1. How can I get the cell value (using Excel cell reference such as A1) from the sheet in the workbook that I am referencing so I can actually output that value in tLogRow 2. Is it possible that I can use this technique to get Excel cell values from all the sheets in the workbook Thanks, Facoda
... View more

Additionally I want to say that if I put one name of the sheet in the tFileInputExcel component settings it will pick the values from that sheet but when I put more than one name of the sheet in the fFileInputExcel component settings it just picks only the values from the first sheet name in the list. And the Java code supplied in the tutorial looks like it's just an incrementer to loop through all the cells. Thanks, Facoda
... View more

Hi xdshi, It is extracting the first sheet. Even when I deselect 'All sheets' and specify a different sheet name than the first one it still selects the values from the first sheet. Could it be something in the Java code given in the example? Thanks, Facoda
... View more

Hi there, I found a very useful tutorial on how to extract data from individual Excel cells. Extracting data from specific Excel cells However, the issue is I would like to iterate through all the sheets (which are in the same format) in Excel But I'm not having a luck at the moment. In tFileInputExcel component I have select 'All Sheets' but this does not seem to be processing all the sheets in the Workbook. Thanks, Facoda
... View more

Hello there, Does anyone know where to get a good practical cookbook for Talend MDM or some tutorials. There is a good book for Integration but I've search high and low and can't find any decent tutorials or any practical hands on book on Talend MDM. Thanks, Facoda
... View more

Hi there, I have the following code which I'm trying to use to rename a file in the tFTPPut component: "NEW-NAME-01-"+TalendDate.addDate(TalendDate.getDate("MMM-YY"),"MMM-YY",-1,"MM")+".txt" However, the file name I get returned is NEW-NAME-01-Nov-13.txt; very strange. I want it to be like NEW-NAME-01-Oct-14.txt. Thanks, Facoda
... View more

Hi there, I would like to know how I can make optimum use of my current hardware settings by editing the INI files associated with the executable. Talend says the default values are: -vmargs -Xms40m -Xmx500m -XX:MaxPermSize=128m. And they say if you have 512M of memory on your computer then the settings should configured as follows: -vmargs -Xms40m -Xmx256m -XX:MaxPermSize=64m My default settings when I installed MDM Open Studio are: -vmargs -Xms512m -Xmx1536m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 Anyway, I can't see any correlation between any of these settings. My server settings are: Processor: Intel(R) Xeron(R) CPU E5-2670 v2 @2.50GHz 2.50 GHz Installed memory (RAM): 15.0GB System type: 64-bit Operating System So how can I configure this INI file to ensure optimum use of the resources available (considering also that I have the whole Talend Open Studio suite installed)? Thanks, Facoda
... View more

Hi Sabrina, This is strange. I thought the path to the workspace would be in some config file somewhere. But anyway, I just copied the current workpace folder and named it workspace2. workspace is assigned to 32bit and workspace2 is assigned to 64bit. And now it seems to work. Thanks, Facoda
... View more

Hi Sabrina, Its strange. I have the 'TOS_MDM-Studio-r118616-V5.5.1' in two locations where the executable is in. In one location the 64bit runs fine in the other location the 64bit causes me the workspace problem. But I want to run the 64 bit exe from my preferred location. There is obviously some conflict. I don't know how its cause or what is causing it. I don't think its a file lock either. Is it some default settings I need to edit. preferred location: C:\Program Files\TOS_MDM-Server-r118616-V5.5.1\TOS_MDM-Studio-r118616-V5.5.1 working location: C:\Users\xxxxx.xxxx\Downloads\TOS_MDM-All-r118616-V5.5.1\TOS_MDM-Studio-r118616-V5.5.1\TOS_MDM-Studio-r118616-V5.5.1 Thanks, Facoda
... View more

Hi there, I don't understand why I'm getting a workspace error saying "This workspace is already in use. You cannot launch the Studio more than once with the same workspace". I've attached a screenshot. This happens when I try to run the 64 bit version. However, it does not happen when I launch the 32 bit version. Thanks, Facoda
... View more

Hi All, Ok I think I found a solution to my problem. The answer is to use a filter in the table analysis section and then apply the business rules. But does anyone know how to write the filter expressions? Are they the same as SQL? For example if I write in the expression in the where filter like: Country = 'UK-England' AND 'UK-Scotland' it doesn't work but if I write: Country IN ('UK-England','UK-Scotland') it works. Is there a reference Talend on how to write the expressions? Thanks, Facoda
... View more

Hi there, I was wondering whether it was possible to define AND clauses when defining business rules in Data Quality. For example, I wish to know in a table how many rows are from 'UK' by the country column and of those how many have a invoice greater than £5000. I tried defining in the business rule like Country = 'UK' and Invoice > 5000 but I don't think this works or gives me the correct answer. Also, I tried setting these two rules separately but I think it just gives me how many rows are UK then it gives me (regardless of country) how many rows have invoice greater than 5000. How can I use the AND rule? Thanks, Facoda
... View more

Brilliant! Thanks Cyril. You were correct there was a lock on the H2 database because I had used H2 Console to view the contents of the Media DB. I killed the H2 process by ending the javaw.exe for Windows in task manager.
... View more

Hi there, I'm trying to deploy a data container which I had previously successfully deployed and I get the following error: The server log reads: 2014-08-06 12:31:50,640 WARN No SQL storage defined for data model 'Media'. No SQL storage to update. 2014-08-06 12:31:50,640 WARN No SQL staging storage defined for data model 'Media'. No SQL staging storage to update. 2014-08-06 12:31:50,646 INFO DMUpdateEvent 2014-08-06 12:32:00,209 INFO Container 'Media' does not exist in revision 'null', creating it. 2014-08-06 12:32:00,210 INFO Reading from datasource file at 'D:\Program Files\TOS_MDM-Server-r111943-V5.4.1\jboss-4.2.2.GA\server\default\conf\datasources.xml'. 2014-08-06 12:32:00,233 INFO Reading from datasource file at 'D:\Program Files\TOS_MDM-Server-r111943-V5.4.1\jboss-4.2.2.GA\server\default\conf\datasources.xml'. 2014-08-06 12:32:00,255 INFO Reading from datasource file at 'D:\Program Files\TOS_MDM-Server-r111943-V5.4.1\jboss-4.2.2.GA\server\default\conf\datasources.xml'. 2014-08-06 12:32:00,301 INFO Reading from datasource file at 'D:\Program Files\TOS_MDM-Server-r111943-V5.4.1\jboss-4.2.2.GA\server\default\conf\datasources.xml'. 2014-08-06 12:32:00,515 INFO *NOT* cleaning existing database content. 2014-08-06 12:32:00,515 INFO Preparing database before schema generation. 2014-08-06 12:32:08,079 ERROR ##### Error during storage preparation (force = true) ##### 2014-08-06 12:32:08,079 ERROR TransactionRolledbackLocalException in method: public abstract boolean com.amalto.core.server.XmlServer.existCluster(java.lang.String,java.lang.String) throws com.amalto.core.util.XtentisException, causedBy: java.lang.RuntimeException: Could not create storage 'Media' with data model 'Media'. at com.amalto.core.server.StorageAdminImpl.create(StorageAdminImpl.java:117) at com.amalto.core.server.StorageAdminImpl.exist(StorageAdminImpl.java:320) at com.amalto.core.storage.StorageWrapper.existCluster(StorageWrapper.java:143) at com.amalto.core.storage.DispatchWrapper.existCluster(DispatchWrapper.java:185) at com.amalto.core.ejb.XmlServerSLWrapperBean.existCluster(XmlServerSLWrapperBean.java:268) at sun.reflect.GeneratedMethodAccessor210.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.invocation.Invocation.performCall(Invocation.java:359) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) at org.jboss.ejb.Container.invoke(Container.java:960) at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430) at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103) at com.sun.proxy.$Proxy170.existCluster(Unknown Source) at com.amalto.core.objects.datacluster.ejb.DataClusterCtrlBean.putDataCluster(DataClusterCtrlBean.java:118) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.invocation.Invocation.performCall(Invocation.java:359) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) at org.jboss.ejb.Container.invoke(Container.java:960) at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430) at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103) at com.sun.proxy.$Proxy191.putDataCluster(Unknown Source) at com.amalto.core.delegator.IXtentisWSDelegator.putDataCluster(IXtentisWSDelegator.java:548) at com.amalto.core.ejb.XtentisWSBean.putDataCluster(XtentisWSBean.java:328) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.invocation.Invocation.performCall(Invocation.java:359) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237) at org.jboss.wsf.container.jboss42.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:85) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) at org.jboss.ejb.Container.invoke(Container.java:960) at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.wsf.container.jboss42.InvocationHandlerEJB21.invoke(InvocationHandlerEJB21.java:147) at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:220) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122) at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393) at org.apache.catalina.authenticator.MDMSingleSignOn.invoke(MDMSingleSignOn.java:73) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.RuntimeException: Could not create storage for container 'Media' (MASTER) using data model 'Media'. at com.amalto.core.server.StorageAdminImpl.internalCreateStorage(StorageAdminImpl.java:256) at com.amalto.core.server.StorageAdminImpl.create(StorageAdminImpl.java:108) ... 101 more Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: Exception occurred during initialization of H2 database at com.amalto.core.storage.StorageLogger.handlePrepareError(StorageLogger.java:64) at com.amalto.core.storage.StorageLogger.prepare(StorageLogger.java:71) at com.amalto.core.server.StorageAdminImpl.internalCreateStorage(StorageAdminImpl.java:254) ... 102 more Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Exception occurred during initialization of H2 database at com.amalto.core.storage.prepare.JDBCStorageInitializer.initialize(JDBCStorageInitializer.java:52) at com.amalto.core.storage.hibernate.HibernateStorage.prepare(HibernateStorage.java:240) at com.amalto.core.storage.SecuredStorage.prepare(SecuredStorage.java:72) at com.amalto.core.storage.StorageLogger.prepare(StorageLogger.java:69) ... 103 more Caused by: java.lang.RuntimeException: Exception occurred during initialization of H2 database at com.amalto.core.storage.prepare.H2StorageInitializer.initialize(H2StorageInitializer.java:64) at com.amalto.core.storage.prepare.FullTextIndexCleaner.initialize(FullTextIndexCleaner.java:74) at com.amalto.core.storage.prepare.JDBCStorageInitializer.initialize(JDBCStorageInitializer.java:50) ... 106 more Caused by: org.h2.jdbc.JdbcSQLException: Database may be already in use: "Locked by another process". Possible solutions: close all other connection(s); use the server mode at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) at org.h2.message.DbException.get(DbException.java:169) at org.h2.message.DbException.get(DbException.java:146) at org.h2.store.FileLock.getExceptionAlreadyInUse(FileLock.java:439) at org.h2.store.FileLock.lockFile(FileLock.java:336) at org.h2.store.FileLock.lock(FileLock.java:128) at org.h2.engine.Database.open(Database.java:542) at org.h2.engine.Database.openDatabase(Database.java:222) at org.h2.engine.Database.<init>(Database.java:217) at org.h2.engine.Engine.openSession(Engine.java:56) at org.h2.engine.Engine.openSession(Engine.java:159) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) at org.h2.engine.Engine.createSession(Engine.java:121) at org.h2.engine.Engine.createSession(Engine.java:28) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:305) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94) at org.h2.Driver.connect(Driver.java:72) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:215) at com.amalto.core.storage.prepare.H2StorageInitializer.initialize(H2StorageInitializer.java:60) ... 108 more 2014-08-06 12:32:08,090 ERROR SOAP request exception java.rmi.RemoteException: Unable to physically create the data cluster Media: javax.ejb.TransactionRolledbackLocalException: Could not create storage 'Media' with data model 'Media'.; : Could not create storage 'Media' with data model 'Media'. : Could not create storage 'Media' with data model 'Media'. : Could not create storage for container 'Media' (MASTER) using data model 'Media'. : java.lang.RuntimeException: java.lang.RuntimeException: Exception occurred during initialization of H2 database : java.lang.RuntimeException: Exception occurred during initialization of H2 database : Exception occurred during initialization of H2 database : Database may be already in use: "Locked by another process". Possible solutions: close all other connection(s); use the server mode ; nested exception is: com.amalto.core.util.XtentisException: Unable to physically create the data cluster Media: javax.ejb.TransactionRolledbackLocalException: Could not create storage 'Media' with data model 'Media'. at com.amalto.core.util.RemoteExceptionFactory.aggregateCauses(RemoteExceptionFactory.java:35) at com.amalto.core.delegator.IXtentisWSDelegator.putDataCluster(IXtentisWSDelegator.java:551) at com.amalto.core.ejb.XtentisWSBean.putDataCluster(XtentisWSBean.java:328) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.invocation.Invocation.performCall(Invocation.java:359) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237) at org.jboss.wsf.container.jboss42.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:85) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) at org.jboss.ejb.Container.invoke(Container.java:960) at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.wsf.container.jboss42.InvocationHandlerEJB21.invoke(InvocationHandlerEJB21.java:147) at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:220) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122) at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393) at org.apache.catalina.authenticator.MDMSingleSignOn.invoke(MDMSingleSignOn.java:73) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:744) Caused by: com.amalto.core.util.XtentisException: Unable to physically create the data cluster Media: javax.ejb.TransactionRolledbackLocalException: Could not create storage 'Media' with data model 'Media'. at com.amalto.core.objects.datacluster.ejb.DataClusterCtrlBean.putDataCluster(DataClusterCtrlBean.java:130) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.invocation.Invocation.performCall(Invocation.java:359) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) at org.jboss.ejb.Container.invoke(Container.java:960) at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430) at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103) at com.sun.proxy.$Proxy191.putDataCluster(Unknown Source) at com.amalto.core.delegator.IXtentisWSDelegator.putDataCluster(IXtentisWSDelegator.java:548) ... 56 more Caused by: javax.ejb.TransactionRolledbackLocalException: Could not create storage 'Media' with data model 'Media'. at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:262) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) at org.jboss.ejb.Container.invoke(Container.java:960) at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430) at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103) at com.sun.proxy.$Proxy170.existCluster(Unknown Source) at com.amalto.core.objects.datacluster.ejb.DataClusterCtrlBean.putDataCluster(DataClusterCtrlBean.java:118) ... 77 more Caused by: java.lang.RuntimeException: Could not create storage 'Media' with data model 'Media'. at com.amalto.core.server.StorageAdminImpl.create(StorageAdminImpl.java:117) at com.amalto.core.server.StorageAdminImpl.exist(StorageAdminImpl.java:320) at com.amalto.core.storage.StorageWrapper.existCluster(StorageWrapper.java:143) at com.amalto.core.storage.DispatchWrapper.existCluster(DispatchWrapper.java:185) at com.amalto.core.ejb.XmlServerSLWrapperBean.existCluster(XmlServerSLWrapperBean.java:268) at sun.reflect.GeneratedMethodAccessor210.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.invocation.Invocation.performCall(Invocation.java:359) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) ... 88 more Caused by: java.lang.RuntimeException: Could not create storage for container 'Media' (MASTER) using data model 'Media'. at com.amalto.core.server.StorageAdminImpl.internalCreateStorage(StorageAdminImpl.java:256) at com.amalto.core.server.StorageAdminImpl.create(StorageAdminImpl.java:108) ... 101 more Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: Exception occurred during initialization of H2 database at com.amalto.core.storage.StorageLogger.handlePrepareError(StorageLogger.java:64) at com.amalto.core.storage.StorageLogger.prepare(StorageLogger.java:71) at com.amalto.core.server.StorageAdminImpl.internalCreateStorage(StorageAdminImpl.java:254) ... 102 more Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Exception occurred during initialization of H2 database at com.amalto.core.storage.prepare.JDBCStorageInitializer.initialize(JDBCStorageInitializer.java:52) at com.amalto.core.storage.hibernate.HibernateStorage.prepare(HibernateStorage.java:240) at com.amalto.core.storage.SecuredStorage.prepare(SecuredStorage.java:72) at com.amalto.core.storage.StorageLogger.prepare(StorageLogger.java:69) ... 103 more Caused by: java.lang.RuntimeException: Exception occurred during initialization of H2 database at com.amalto.core.storage.prepare.H2StorageInitializer.initialize(H2StorageInitializer.java:64) at com.amalto.core.storage.prepare.FullTextIndexCleaner.initialize(FullTextIndexCleaner.java:74) at com.amalto.core.storage.prepare.JDBCStorageInitializer.initialize(JDBCStorageInitializer.java:50) ... 106 more Caused by: org.h2.jdbc.JdbcSQLException: Database may be already in use: "Locked by another process". Possible solutions: close all other connection(s); use the server mode at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) at org.h2.message.DbException.get(DbException.java:169) at org.h2.message.DbException.get(DbException.java:146) at org.h2.store.FileLock.getExceptionAlreadyInUse(FileLock.java:439) at org.h2.store.FileLock.lockFile(FileLock.java:336) at org.h2.store.FileLock.lock(FileLock.java:128) at org.h2.engine.Database.open(Database.java:542) at org.h2.engine.Database.openDatabase(Database.java:222) at org.h2.engine.Database.<init>(Database.java:217) at org.h2.engine.Engine.openSession(Engine.java:56) at org.h2.engine.Engine.openSession(Engine.java:159) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) at org.h2.engine.Engine.createSession(Engine.java:121) at org.h2.engine.Engine.createSession(Engine.java:28) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:305) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94) at org.h2.Driver.connect(Driver.java:72) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:215) at com.amalto.core.storage.prepare.H2StorageInitializer.initialize(H2StorageInitializer.java:60) ... 108 more Thanks, Facoda
... View more

Hi there, I've created two MDM entities that are successfully linked via primary and foreign keys and are displaying as should be in the Web Interface. However, when I export the master data (the two entities) to a SQL Server database using the data integration studio I've noticed these square brackets around the foreign keys. This makes it difficult for me to recreate the relationships using primary and foreign keys (I have to use long winded and complicated replace function to get rid of the brackets around the foreign keys before I can do the join between the two entities in SQL). How can I export the master data and foreign keys without the brackets around the foreign keys? Thanks, Facoda.
... View more

Hi there, I have two instances of SQL Server running on the same server. Does anyone know how I can configure, in the database connection, to connect to a specific database instance. How cannot see this option given in enter connection details such as login, username etc. Perhaps it might be in the additional parameters field? Thanks, Facoda
... View more

Thanks Shong! Although there was one slight typo in your solution I had to remove the double quotes around the -1 as it was giving a string error. Also, I added a second line to assign it to a context variable that I need to use later on. java.util.Date firstDay=TalendDate.getFirstDayOfMonth(TalendDate.addDate(TalendDate.getCurrentDate(),-1,"MM")); context.start_date=TalendDate.formatDate("dd-MM-yyyy",firstDay);
... View more

Hi there, Me again. How can I get the last and first day of the previous month using TalendDate.getDate? I've searched hi and lo and cannot find any suggestions. This is very easy to do in sql using dateadd and datediff on the current date but I don't know if this is possible with Talend. Thanks
... View more