SSIS 2012 - Double quote charcter in data does not allow to load flat file to source component
Hello everyone,
I've created a source component for flat file data.
This file contains data the column data in double quotes. Like,
First Name Last Name
"Ankit" "Shah"
The text qualifier is double quote for source file connection.
When I do have data like below, it does not able to load the source file. And throws an error "The column delimiter for column was not found"
First Name Last Name
"Ank"it" "Shah"
Can anybody please advise how to resolve this problem?
Any help would be much appreciated.
Thanks,
Ankit
Thanks, <b>Ankit Shah</b> <hr> Inkey Solutions, India. <hr> Microsoft Certified Business Management Solutions Professionals <hr> http://ankit.inkeysolutions.com
Please refer:
http://visakhm.blogspot.com/2014/06/ssis-tips-handling-embedded-text.html
http://www.ideaexcursion.com/2008/11/12/handling-embedded-text-qualifiers/
Cheers,
Vaibhav Chaudhari
[MCTS],
[MCP]
Similar Messages
-
Quick time Pro does not allow me to download files after unlocked.
In a website there are some audios in QT that I want to download. I right clicked and it gave me the option to download them. After a new screen apperared inviting me to purchase QT Pro. I did it and got the registration code to unlock Pro features.
Well, now I go to the same website and right clicking on the objects does not work anymore, hence I can not download anything and I just purchased the license to do it.
Windows Vista.
Regards,
JuanI think I killed myself. In the QT preferences I had choose Enable kiosk mode in the browser tab, which disables the option to save movies and change preferences from within the browser.
Now I have another problem, but I will open another ticket. I download, but it only downloads 1K files, but not the whole contents.
Thanks, Juan -
Upgrading from CS6 to Dreamweaver CC "up to date" does not allow installation of new product.
I'm trying to upgrade my mac from CS6 to dreamweaver CC, but my adober app manager says my dreamweaver is up to date. I know this is not true because I don't have the insert edge animate project button which the new dreamweaver CC advertises.
How can I install it if my app manager thinks I already have the latest version?Save you breath: The CC versions won't be available before Monday.
Mylenium -
ORA-23327: imported deferred rpc data does not match GLOBAL NAME of ..
Hi,
We took an export of a production database in Oracle 9i (9.2.0.7) and created a new database on a test server with Oracle 10g (10.1.0.5)
The original production database was called DC20 and our new test database is called SD20.
Looking at the logs after the import we're seeing this error:
"ORA-23327: imported deferred rpc data does not match GLOBAL NAME of importing db"
We've looked into it a little and it seems to make sense because the names of the databases are different, and from what we've read, we really didn't need to do a full import including SYSTEM anyway. We also came across a solution telling us:
"If you are not using Replication on the target database, these errors can be ignored. However, you should subsequently remove all the replication objects by running:
$ORACLE_HOME/rdbms/admin/catrepr.sql, then catproc.sql"
What I was wondering was if someone could validate that running these scripts and ignoring the errors will be ok, or if they'll cause us issues further down the line.
In case its needed, heres my Export parameter file
"FULL=Y
DIRECT=Y
LOG=E:\Exports\DC20\Log\expDC20.LOG
FILE=E:\Exports\DC20\Data\DC20.DMP"
and heres my Import parameter file
"FULL=Y
COMMIT=Y
GRANTS=N
IGNORE=Y
BUFFER=500000
FILE=E:\Imports\SD20\data\SD20.dmp
LOG=E:\imports\SD20\log\impSD20.LOG"
Thanks for your help!Thanks Neil, we did already see this note and added it to our list of possible solutions. After we found this one, we also found the one I quoted, which would seem to be the path of least resistance (it would save a good 10 hours in import time if nothing else).
However, if we can't do what I'm asking about in my original post however, the note you mentioned will be our next route.. -
Hi
I have a " AirPort Time Capsule " (firmware 7.7.3) When I try to open the data folder in "finder". Then I got the message " The operation can not be completed because the original item for " data" does not exist". I have a lot of data and I can understand why I get this message?
Anyone who can help? Thanks..
Br. BoGet a USB drive of 2TB or more.. assuming your TC is 2TB. Either preformatted Mac or plug into your Mac and format it standard Mac OS Extended Journaled in disk utility.
Do a full archive of the TC. You do this using airport utility. Do not click the erase disk.. I marked in green.. just the archive.. that is to backup the internal disk to the USB disk. It is not fast.. take it that the process will go at around 40-50GB/hr.
Once you complete the archive .. it is a direct image of the data on your TC.. you can then plug it into your computer directly.. and then try and open the files you lost.. if you cannot open them.. open disk utility and fix the permissions.
http://osxdaily.com/2015/01/13/repair-disk-permissions-mac-os-x/
Or try the methods apple recommends..
OS X Yosemite: Set permissions for items on your Mac
It is possible to fix things on the USB drive because it is locally mounted.. but you cannot fix it on TC which is network drive. -
JAN 4, 2012
As of the Upgrade to Lion,. 2007 I-Mac - the Email portion, .. DOES NOT allow a Video Clips to be sent via the Email
as the I-Photo is not supported by Video Clips ( Previous Leopard )
No problem clip and drag via Quick Time Pro to the email and select the Attchment size to send. . Depending on the
Size of the Video Clip .. Now Lion only Export's 1 size, . only and as a result . . teh File is TOO Large and
Will NOT send via E-Mail ???
Between the Issue of the Lion, and Email issues , and the Upgrade of I-Touch to 5.1 from 4.2.1
as my Photo Size is Huge .. 70,000 + photos in the Computer. . and was 40,000 in the I - Touch .. .
The New I-Touch too will not Load the same as Previously used on either my 16 GB or 32 GB Unit . .
No Help . .. so far, .. as a Apple user since 1996 .. I have Never experieanced such frustration ???
( any one have some help if similar experiances ? thank you )JAN 4, 2012
As of the Upgrade to Lion,. 2007 I-Mac - the Email portion, .. DOES NOT allow a Video Clips to be sent via the Email
as the I-Photo is not supported by Video Clips ( Previous Leopard )
No problem clip and drag via Quick Time Pro to the email and select the Attchment size to send. . Depending on the
Size of the Video Clip .. Now Lion only Export's 1 size, . only and as a result . . teh File is TOO Large and
Will NOT send via E-Mail ???
Between the Issue of the Lion, and Email issues , and the Upgrade of I-Touch to 5.1 from 4.2.1
as my Photo Size is Huge .. 70,000 + photos in the Computer. . and was 40,000 in the I - Touch .. .
The New I-Touch too will not Load the same as Previously used on either my 16 GB or 32 GB Unit . .
No Help . .. so far, .. as a Apple user since 1996 .. I have Never experieanced such frustration ???
( any one have some help if similar experiances ? thank you ) -
Dear experts,
We have two requirements regarding to the "Anual leave" quota.
1. Quota reduction when employee is inactive for more than 180 days
2. Advance quota days when employeee does not have enough balance
We have in place an "Anual Leave" quota related to a calendar year period, that gets generated dialy in time evaluation. This quota gets the employee entitlement from a set of rules that stored the corresponding balance in a period time type, that is the one that we defined in the customizing. This is working fine. The problems start when we try to incorporate the other two requirements.
Regarding the first requirement, if the employee has been inactive for more than 180 days in a calendar year due to unpaid leave, we need to start quota reduction as follow,
First, we need to clear the balance that was calculated above in the schema.
Then, we need to calculate one leave day for every 20 days worked till the end of the year, considering as such, everyday the employee is expected to work, except days on which the employee has been absent on unpaid leave.
For the second requirement we created a manual quota call "Advance Anual Leave". So, if the employee, wishes to take 20 working days holiday, but in his/her Anual Leave quota has only 10 days available, we have to create an "Advance Anual Leave" quota manualy for 10 days. When the quota for next year gets generated, we need to deduct these advanced 10 days from it. This deduction should stop the year after.
The problem we are finding with these two requirements is that, due to the Anual Leave quota gets generated dialy, we can't get the balance right.
Thanks in advance!
Kind regards,
AlexHello binbingogoABC,
Shopping on BestBuy.com should be easy and fun and not fraught with the kind of trouble that you describe. I regret very much that this has been your experience.
Using the information you provided when you signed up for Best Buy Unboxed I was able to locate your cancelled orders. I have requested more information from my back-office partners. As soon as I have additional details about your situation, I will reply again to this message. In the interim, I'm sorry that I must impose upon your patience.
I'm very grateful that you wrote to us with your concerns.
Sincerely, -
The data does not encrypt using Wallet!
Hi All,
I've created a wallet to encrypt/decrypt the data, but when I change any column to be ecrypted by this command:
alter table accounts modify (ssn encrypt); --accounts is the table containing ssn column to be ecrypted.
and then inserting data on it, the data does not appear in encrypted format it appears in it's truth format!
how to make the data ecrypted?Dev. Musbah wrote:
Hi All,
I've created a wallet to encrypt/decrypt the data, but when I change any column to be ecrypted by this command:
alter table accounts modify (ssn encrypt); --accounts is the table containing ssn column to be ecrypted.
and then inserting data on it, the data does not appear in encrypted format it appears in it's truth format!
how to make the data ecrypted?Did you go back and read that what does TDE(transparent data encryption) actually does? It does NOT make your column look encrypted but makes the physically stored data in teh datafile as encrypted which otherwise can be reverse engineered by someone and can be read. In your case, whatever is happening is the right thing.
For your unmentioned version, here is the link for the same,
http://download.oracle.com/docs/cd/E11882_01/network.112/e10746/asotrans.htm#ASOAG10137
HTH
Aman.... -
Job Cancelled with an error "Data does not match the job def: Job terminat"
Dear Friends,
The following job is with respect to an inbound interface that transfers data into SAP.
The file mist.txt is picked from the /FI/in directory of the application server and is moved to the /FI/work directory of application server for processing. Once the program ends up without any error, the file is moved to /FI/archive directory.
The below are the steps listed in job log, no spool is generated for this job and it ended up with an error "Data does not match the job definition; job terminated".Please see below for more info.
1.Job Started
2.Step 001 started (program Y_SAP_FI_POST, variant MIST, user ID K364646)
3.File mist.txt copied from /data/sap/ARD/interface/FI/in/ to /data/sap/ARD/interface/FI/work/.
4.File mist.txt deleted from /data/sap/ARD/interface/FI/in/.
5.File mist.txt read from /data/sap/ARD/interface/FI/work/.
6.PD-DKLY-Y_SAP_FI_POST: This job was started periodically or directly from SM36/SM37 (Message Class: BD, Message Number : 076)
7.Job PD-DKLY-Y_SAP_FI_POST: Data does not match the job definition; job terminated (Message Class : BD, Message No. 078)
8.Job cancelled after system exception
ERROR_MESSAGE
Could you please analyse and come up about under what circumstance the above error is reported.
As well I heard that because of the customization issues in T.Code BMV0, the above error has raised.
Also please note that we can define as well schedule jobs from the above transaction and the corresponding data is stored in the table TBICU
My Trials
1. Tested uplaoding an empty file
2. Tested uploading with wrong data
3. Tested uploading with improper data that has false file structue
But failed to simulate the above scenario.
Clarification Required
Assume that I have defined a job using BMV0. Is that mandatory to use the same job in SM37/SM36 for scheduling?
Is the above question valid?
Edited by: dharmendra gali on Jan 28, 2008 6:06 AMDear Friends,
_Urgent : Please work on this ASAP _
The following job is with respect to an inbound interface that transfers data into SAP.
The file mist.txt is picked from the /FI/in directory of the application server and is moved to the /FI/work directory of application server for processing. Once the program ends up without any error, the file is moved to /FI/archive directory.
The below are the steps listed in job log, no spool is generated for this job and it ended up with an error "Data does not match the job definition; job terminated".Please see below for more info.
1.Job Started
2.Step 001 started (program Y_SAP_FI_POST, variant MIST, user ID K364646)
3.File mist.txt copied from /data/sap/ARD/interface/FI/in/ to /data/sap/ARD/interface/FI/work/.
4.File mist.txt deleted from /data/sap/ARD/interface/FI/in/.
5.File mist.txt read from /data/sap/ARD/interface/FI/work/.
6.PD-DKLY-Y_SAP_FI_POST: This job was started periodically or directly from SM36/SM37 (Message Class: BD, Message Number : 076)
7.Job PD-DKLY-Y_SAP_FI_POST: Data does not match the job definition; job terminated (Message Class : BD, Message No. 078)
8.Job cancelled after system exception
ERROR_MESSAGE
Could you please analyse and come up about under what circumstance the above error is reported.
As well I heard that because of the customization issues in T.Code BMV0, the above error has raised.
Also please note that we can define as well schedule jobs from the above transaction and the corresponding data is stored in the table TBICU
My Trials
1. Tested uplaoding an empty file
2. Tested uploading with wrong data
3. Tested uploading with improper data that has false file structue
But failed to simulate the above scenario.
Clarification Required
Assume that I have defined a job using BMV0. Is that mandatory to use the same job in SM37/SM36 for scheduling?
Is the above question valid? -
The latest version of iTunes does not allow me to open a playlist in a separate window. I need this feature. Is there another way? You used to be able to double click a playlist and have it appear in a new window.
Others have commented on this too. It seems to be one of the 'improvements' of the newer version you are supposed to embrace with joy as an exciting new development. You can send feedback to Apple but realize you may be perceived as standing in the path of progress.
http://www.apple.com/feedback/itunesapp.html -
Background Job cancelling with error Data does not match the job definition
Dear Team,
Background Job is getting cancelled when I run a Job on periodically but the same Job is executing perfectly when I run it manually(repeat scheduling) .
Let me describe the problem clearly.
We have a program which picks up files from an FTP server and posts the documents into SAP. We are scheduling this program as a background Job daily. This Job is running perfectly if the files contain no data. But if the file contains data the JOb is getting cancelled with the following messages.
And also the same Job is getting executed perfectly when repeat scheduling is done ( even for files with data).
Time Message text Message class Message no. Message type
03:46:08 Job PREPAID_OCT_APPS2_11: Data does not match the job definition; job terminated BD 078 E
03:46:08 Job cancelled after system exception ERROR_MESSAGE 00 564 A
Please help me in resolving this issue.
Thanks in advance,
Sai.hi,
If you have any GUI function modules used in the program of job
you cannot run it in background mode. -
My ICal data does not show up on Subscribers Calendar
Following all of the instructions how to get my ICal information to another Apple Computer (Macbook Pro) however when we access the Macbook Pro the data from my Calendar does not show up. Calendar is there, just the data does not make it across.
Any thoughts.
Thanks MarkThanks for the information.
If you view the same calendar on the MobileMe website, do you see the events?
http://ical.me.com/yourmembernamehere/calendarname
If you don't see the events on the calendar web page then the publish did not go through succesffully. Un-publish the calendar, make a slight change to its title, and then re-publish and test.
If you do see the events on the website but still not in iCal on the 10.6.8 system:
1. First make an iCal backup: Click on each calendar on the left hand side of iCal 1 at a time highlighting it's name and then going to File Export > Export and saving the resulting calendar file to a logical location for safekeeping.
2. Remove the subscription for iCal to that specific calendar.
3. Remove the following to the trash and restart your computer:
Home > Library > Caches > com.apple.ical
Home > Library > Calendars > Calendar Cache, Cache, Cache 1, 2, 3, etc. (Do not remove Sync Cache or Theme Cache if present)
Home > Library > Preferences > com.apple.ical (There may be more than one of these. Remove them all.)
---NOTE: Removing these files may remove any shared (CalDAV) calendars you may have access to. You will have to re-add those calendars to iCal > Preferences > Accounts.
4. Launch iCal and re-add the subscription.
Hope that helps! -
Need help in formatting the Date - Date does not
Need help in formatting the Date - Date does not formats and give Not a valid month error in the below scenario.
select oc.ST_PGM_MGR, r.ag_dnum, get_major_work_type(r.perf_eval_rtng_id) "v_work_code", r.ag_dnum_supp "supp", r.intfinal, to_char(r.formdate,'MM/DD/YYYY') "formdate", to_char(r.servfrom,'MM/DD/YYYY') "srv_from", to_char(r.servto,'MM/DD/YYYY') "srv_to", descript, add_months(to_char
--- Bellow line of Code on trying to format it to mm/dd/yyyy gives the error
(r.formdate, 'DD-MON-YYYY'),12) "formdate2"
from table REdited by: Lucy Discover on Jul 7, 2011 11:34 AM
Edited by: Lucy Discover on Jul 7, 2011 1:05 PMYour syntax is wrong - look at the post above where this syntax is given:
to_char (add_months(r.formdate,12), 'MM/DD/YYYY') "formdate2"Look at the formula from a logical perspective - "inside out" to read what is happening -
take formdate, add 12 months
add_months(r.formdate, 12)then apply the to_char format mask - basic syntax
to_char(date, 'MM/DD/YYYY')Compare to your syntax:
to_char(add_months(r.formdate, 'MM/DD/YYYY'),12) "formdate2"You will see your format string inside the call to add_months, and your 12 inside the call to to_char.
Good luck! -
EJB 3.0 - JSF APPLICATION: DATA DOES NOT PERSIST TO THE DATABASE
Hi,
I am developing a JSF - EJB application and the data that I send from JSP Page through JSF Managed Bean --> Session Bean --> Java Persistence does not persist in database.
Here is my scenario ( Iam using JDeveloper IDE to create this application) -
SCENARIO START
The scenario consists of two web pages, one enlisting all the users stored in the database, the other contains a form for adding a user
1.) INDEX.JSP
2.) ADDUSER.JSP
Step 1: Create the USERS Table in database
CREATE TABLE users
user_id serial,
username varchar(255) NOT NULL,
first_name varchar(255),
last_name varchar(255),
password char(64) NOT NULL,
CONSTRAINT pk_users PRIMARY KEY (user_id)
Step 2: Add Database Connection To JDeveloper
Go to Database Connection Navigator and create a New Database Connection using the Wizard
Step 3: Create a New Application in JDeveloper and select JSF, EJB from Application Template
Step 4: ENTITY BEAN - In the EJB Node Right Click and Select EJB à New Entites from Table (JPA/EJB3.0)
Use The Wizard and create Entity Bean from Users Table which creates an Entity Bea POJO file as follows –
User.java -
package lux.domain;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@NamedQuery(name = "User.findAll", query = "select o from User o")
@Table(name = "USERS")
public class User implements Serializable {
@Column(name="FIRST_NAME")
private String firstName;
@Column(name="LAST_NAME")
private String lastName;
@Column(nullable = false)
private String password;
@Column(nullable = false)
private String username;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="users_seq_generator")
@SequenceGenerator(name="users_seq_generator", sequenceName="users_user_id_seq")
@Column(name="USER_ID", nullable = false)
private Long userId;
public User() {
public String getFirstName() {
return firstName;
public void setFirstName(String firstName) {
this.firstName = firstName;
public String getLastName() {
return lastName;
public void setLastName(String lastName) {
this.lastName = lastName;
public String getPassword() {
return password;
public void setPassword(String password) {
this.password = password;
public String getUsername() {
return username;
public void setUsername(String username) {
this.username = username;
public Long getUserId() {
return userId;
public void setUserId(Long userId) {
this.userId = userId;
Step 5: STATELESS SESSION BEAN - In the EJB Node Right Click and Select EJB à New Entites from Table (JPA/EJB3.0)
Again Right Click on Model and create Session Bean from Wizard which creates two files –
UserDAOBean.java – Stateless Session Bean
UserDAO.java – Local Interface
package lux.facade;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import lux.domain.User;
@Stateless(name="UserDAO")
public class UserDAOBean implements UserDAO {
@PersistenceContext(unitName="Model")
private EntityManager em;
public UserDAOBean() {
public User getUser(int UserId) {
User u = new User();
u = em.find(User.class, UserId);
return u;
public List<User> getAllUsers() {
Query q = em.createQuery("SELECT u FROM User u");
List<User> users = q.getResultList();
return users;
public void createUser(User u) {
String hashedPw = hashPassword(u.getPassword());
u.setPassword(hashedPw);
em.persist(u);
public void updateUser(User u) {
String hashedPw = hashPassword(u.getPassword());
u.setPassword(hashedPw);
em.merge(u);
public void deleteUser(User u) {
em.remove(u);
private String hashPassword(String password) {
StringBuilder sb = new StringBuilder();
try {
MessageDigest messageDigest = MessageDigest.getInstance("SHA");
byte[] bs;
bs = messageDigest.digest(password.getBytes());
for (int i = 0; i < bs.length; i++) {
String hexVal = Integer.toHexString(0xFF & bs);
if (hexVal.length() == 1) {
sb.append("0");
sb.append(hexVal);
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(UserDAOBean.class.getName()).log(Level.SEVERE, null, ex);
return sb.toString();
Step 6: Create a Deployment file in the Model and Deploy this to a JAR file
Step 7: Now Right Click on View/Controller Node and create a Java File –
UserController.java -
package lux.controllers;
import javax.ejb.EJB;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import lux.domain.User;
import lux.facade.UserDAO;
public class UserController {
@EJB UserDAO userDao;
private User user;
private DataModel model;
public String createUser() {
this.user = new User();
return "create_new_user";
public String saveUser() {
String r = "success";
try {
userDao.createUser(user);
} catch (Exception e) {
e.printStackTrace();
r = "failed";
return r;
public DataModel getUsers() {
model = new ListDataModel(userDao.getAllUsers());
return model;
public User getUser() {
return user;
public void setUser(User user) {
this.user = user;
Step 8: Configure page flow in faces-config.xml
1. Create the JSP file adduser.jsp by right-clicking View-Controller
node and selecting New > JSP. Use the wizard to create JSF – JSP Page, fill in
File Name adduser.jsp, click Finish. -
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>New user</title>
</head>
<body>
<f:view>
<h:form>
<h:messages/>
<h:panelGrid columns="2">
<h:outputText value="Username"/>
<h:inputText
id="Username"
value="#{user.user.username}"
required="true"/>
<h:outputText value="First name"/>
<h:inputText
id="FirstName"
value="#{user.user.firstName}" />
<h:outputText value="Last name"/>
<h:inputText
id="LastName"
value="#{user.user.lastName}" />
<h:outputText value="Password" />
<h:inputSecret
id="Password"
value="#{user.user.password}"
required="true" />
<h:panelGroup/>
<h:commandButton
action="#{user.saveUser}"
value="Save"/>
</h:panelGrid>
</h:form>
</f:view>
</body>
</html>
2. Repeat the previous step for another JSP file failed.jsp.
3. On failed.jsp add the string
Save failed
Next we configure the page flow.
1. Open faces-config.xml.
2. Create index.jsp -
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Listing</title>
</head>
<body>
<f:view>
<h:form>
<h:outputText value="User Listing"/>
<h:commandLink action="#{user.createUser}" value="Create a user"/>
<h:dataTable value="#{user.user}"
var="dataTableItem" border="1" cellpadding="2" cellspacing="2">
<h:column>
<f:facet name="header">
<h:outputText value="Username"/>
</f:facet>
<h:outputText value="#{dataTableItem.username}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="First name"/>
</f:facet>
<h:outputText value="#{dataTableItem.firstName}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Last name"/>
</f:facet>
<h:outputText value="#{dataTableItem.lastName}" />
</h:column>
</h:dataTable>
</h:form>
</f:view>
</body>
</html>
3. Drag an arrow from index.jsp to adduser.jsp and replace the arrow’s label to create_new_user.
4. Repeat the previous step for failed, by dragging and arrow from adduser.jsp to failed.jsp renaming the label to f
ailed
5. Finally repeat the step for adduser.jsp, by dragging from adduser.jsp to index.jsp renaming the label to success.
This creates the following faces-config.xml file –
<?xml version='1.0' encoding='UTF-8'?>
<faces-config>
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>lux.controllers.UserController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>username</property-name>
<value>#{username}</value>
</managed-property>
<managed-property>
<property-name>firstName</property-name>
<value>#{firstName}</value>
</managed-property>
<managed-property>
<property-name>lastName</property-name>
<value>#{lastName}</value>
</managed-property>
<managed-property>
<property-name>password</property-name>
<value>#{password}</value>
</managed-property>
</managed-bean>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>create_new_user</from-outcome>
<to-view-id>/adduser.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/adduser.jsp</from-view-id>
<navigation-case>
<from-outcome>failed</from-outcome>
<to-view-id>/failed.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
Step 9: Create a Deployment file in the View-Controller and Deploy this to a WAR file
Step 10: Create a Deployment file in the View-Controller and create an EAR file and add Model’s JAR and View-Controller’s
WAR files to it.
Step 11: Run the JSP Files
SCENARIO END
Now, When I execute Index.jsp, it does not list values from database and when I click on Create User link, it takes me to adduser.jsp page. When I fill values in this page and click Save button, it takes me to Save Failed page and data does not persist to the database.
WHAT IS WRONG OUT HERE ???If you set a breakpoint in your createUser method - does this code get executed?
We have a couple of tutorials that might show you how to do this.
EJB/JSF with ADF-binding tutorial:
http://www.oracle.com/technology/obe/obe1013jdev/10131/ejb_and_jpa/master-detail_pagewith_ejb.htm
EJB/JSF without ADF binding:
http://www.oracle.com/technology/obe/JavaEE_tutorial_10131/index.htm -
JSF - EJB 3.0 Application - Data does not persist to the database
Hi,
I am developing a JSF - EJB application and the data that I send from JSP Page through JSF Managed Bean --> Session Bean --> Java Persistence does not persist in database.
Here is my scenario ( Iam using JDeveloper IDE to create this application) -
------------------------------------------------------- SCENARIO START
The scenario consists of two web pages, one enlisting all the users stored in the database, the other contains a form for adding a user
1.) INDEX.JSP
2.) ADDUSER.JSP
Step 1: Create the USERS Table in database
CREATE TABLE users
user_id serial,
username varchar(255) NOT NULL,
first_name varchar(255),
last_name varchar(255),
password char(64) NOT NULL,
CONSTRAINT pk_users PRIMARY KEY (user_id)
Step 2: Add Database Connection To JDeveloper
Go to Database Connection Navigator and create a New Database Connection using the Wizard
Step 3: Create a New Application in JDeveloper and select JSF, EJB from Application Template
Step 4: ENTITY BEAN - In the EJB Node Right Click and Select EJB � New Entites from Table (JPA/EJB3.0)
Use The Wizard and create Entity Bean from Users Table which creates an Entity Bea POJO file as follows �
User.java -
package lux.domain;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@NamedQuery(name = "User.findAll", query = "select o from User o")
@Table(name = "USERS")
public class User implements Serializable {
@Column(name="FIRST_NAME")
private String firstName;
@Column(name="LAST_NAME")
private String lastName;
@Column(nullable = false)
private String password;
@Column(nullable = false)
private String username;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="users_seq_generator")
@SequenceGenerator(name="users_seq_generator", sequenceName="users_user_id_seq")
@Column(name="USER_ID", nullable = false)
private Long userId;
public User() {
public String getFirstName() {
return firstName;
public void setFirstName(String firstName) {
this.firstName = firstName;
public String getLastName() {
return lastName;
public void setLastName(String lastName) {
this.lastName = lastName;
public String getPassword() {
return password;
public void setPassword(String password) {
this.password = password;
public String getUsername() {
return username;
public void setUsername(String username) {
this.username = username;
public Long getUserId() {
return userId;
public void setUserId(Long userId) {
this.userId = userId;
Step 5: STATELESS SESSION BEAN - In the EJB Node Right Click and Select EJB � New Entites from Table (JPA/EJB3.0)
Again Right Click on Model and create Session Bean from Wizard which creates two files �
UserDAOBean.java � Stateless Session Bean
UserDAO.java � Local Interface
package lux.facade;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import lux.domain.User;
@Stateless(name="UserDAO")
public class UserDAOBean implements UserDAO {
@PersistenceContext(unitName="Model")
private EntityManager em;
public UserDAOBean() {
public User getUser(int UserId) {
User u = new User();
u = em.find(User.class, UserId);
return u;
public List<User> getAllUsers() {
Query q = em.createQuery("SELECT u FROM User u");
List<User> users = q.getResultList();
return users;
public void createUser(User u) {
String hashedPw = hashPassword(u.getPassword());
u.setPassword(hashedPw);
em.persist(u);
public void updateUser(User u) {
String hashedPw = hashPassword(u.getPassword());
u.setPassword(hashedPw);
em.merge(u);
public void deleteUser(User u) {
em.remove(u);
private String hashPassword(String password) {
StringBuilder sb = new StringBuilder();
try {
MessageDigest messageDigest = MessageDigest.getInstance("SHA");
byte[] bs;
bs = messageDigest.digest(password.getBytes());
for (int i = 0; i < bs.length; i++) {
String hexVal = Integer.toHexString(0xFF & bs);
if (hexVal.length() == 1) {
sb.append("0");
sb.append(hexVal);
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(UserDAOBean.class.getName()).log(Level.SEVERE, null, ex);
return sb.toString();
Step 6: Create a Deployment file in the Model and Deploy this to a JAR file
Step 7: Now Right Click on View/Controller Node and create a Java File �
UserController.java -
package lux.controllers;
import javax.ejb.EJB;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import lux.domain.User;
import lux.facade.UserDAO;
public class UserController {
@EJB UserDAO userDao;
private User user;
private DataModel model;
public String createUser() {
this.user = new User();
return "create_new_user";
public String saveUser() {
String r = "success";
try {
userDao.createUser(user);
} catch (Exception e) {
e.printStackTrace();
r = "failed";
return r;
public DataModel getUsers() {
model = new ListDataModel(userDao.getAllUsers());
return model;
public User getUser() {
return user;
public void setUser(User user) {
this.user = user;
Step 8: Configure page flow in faces-config.xml
1. Create the JSP file adduser.jsp by right-clicking View-Controller
node and selecting New > JSP. Use the wizard to create JSF � JSP Page, fill in
File Name adduser.jsp, click Finish. -
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>New user</title>
</head>
<body>
<f:view>
<h:form>
<h:messages/>
<h:panelGrid columns="2">
<h:outputText value="Username"/>
<h:inputText
id="Username"
value="#{user.user.username}"
required="true"/>
<h:outputText value="First name"/>
<h:inputText
id="FirstName"
value="#{user.user.firstName}" />
<h:outputText value="Last name"/>
<h:inputText
id="LastName"
value="#{user.user.lastName}" />
<h:outputText value="Password" />
<h:inputSecret
id="Password"
value="#{user.user.password}"
required="true" />
<h:panelGroup/>
<h:commandButton
action="#{user.saveUser}"
value="Save"/>
</h:panelGrid>
</h:form>
</f:view>
</body>
</html>
2. Repeat the previous step for another JSP file failed.jsp.
3. On failed.jsp add the string <h2>Save failed</h2>.
Next we configure the page flow.
1. Open faces-config.xml.
2. Create index.jsp -
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Listing</title>
</head>
<body>
<f:view>
<h:form>
<h1><h:outputText value="User Listing"/></h1>
<p><h:commandLink action="#{user.createUser}" value="Create a user"/></p>
<h:dataTable value="#{user.user}"
var="dataTableItem" border="1" cellpadding="2" cellspacing="2">
<h:column>
<f:facet name="header">
<h:outputText value="Username"/>
</f:facet>
<h:outputText value="#{dataTableItem.username}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="First name"/>
</f:facet>
<h:outputText value="#{dataTableItem.firstName}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Last name"/>
</f:facet>
<h:outputText value="#{dataTableItem.lastName}" />
</h:column>
</h:dataTable>
</h:form>
</f:view>
</body>
</html>
3. Drag an arrow from index.jsp to adduser.jsp and replace the arrow�s label to create_new_user.
4. Repeat the previous step for failed, by dragging and arrow from adduser.jsp to failed.jsp renaming the label to f
ailed
5. Finally repeat the step for adduser.jsp, by dragging from adduser.jsp to index.jsp renaming the label to success.
This creates the following faces-config.xml file �
<?xml version='1.0' encoding='UTF-8'?>
<faces-config>
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>lux.controllers.UserController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>username</property-name>
<value>#{username}</value>
</managed-property>
<managed-property>
<property-name>firstName</property-name>
<value>#{firstName}</value>
</managed-property>
<managed-property>
<property-name>lastName</property-name>
<value>#{lastName}</value>
</managed-property>
<managed-property>
<property-name>password</property-name>
<value>#{password}</value>
</managed-property>
</managed-bean>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>create_new_user</from-outcome>
<to-view-id>/adduser.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/adduser.jsp</from-view-id>
<navigation-case>
<from-outcome>failed</from-outcome>
<to-view-id>/failed.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
Step 9: Create a Deployment file in the View-Controller and Deploy this to a WAR file
Step 10: Create a Deployment file in the View-Controller and create an EAR file and add Model�s JAR and View-Controller�s
WAR files to it.
Step 11: Run the JSP Files
------------------------------------------------------- SCENARIO END
Now, When I execute Index.jsp, it does not list values from database and when I click on Create User link, it takes me to adduser.jsp page. When I fill values in this page and click Save button, it takes me to Save Failed page and data does not persist to the database.
WHAT IS WRONG OUT HERE ???PLZZZZZZZZZzzzzzzzzzzz HELP ! ! !
Maybe you are looking for
-
Loop at and update based on column number
Hi ABAPers, Need help, LOOP AT i_final_r1 INTO w_final_r1. READ TABLE i_text1 INTO w_text1 WITH KEY w_final_r1-text1. IF sy-subrc eq 0. w_region1-werks = w_final_r1-werks. w_region1-sy-tabix = w_final_r1-netwr. " Sy-tabix = 6. (for examp
-
Active Directory authentication works in apex 3.2 - fails in apex 4.0.2
I'm attempting to implement an AD authentication function which works for many of our apex 3.2 based apps in a 4.0 based one (both versions of apex installed in 10.2.0.4 DB) and it fails with this error - h4. ORA-01400: cannot insert NULL into ("APEX
-
3GS iPhone Backup, Recognition Issues With iTunes 9.2
Since "upgrading" to iTunes 9.2, our computer's iTunes can no longer successfully back up my 3GS iPhone (always encounters an "unknown error") and it will no longer recognize my husband's iPhone 3GS at all. Because I upgraded iTunes before installing
-
Hi, i've a request composed by 3 union. It returns following results: Description Value Desc1 8,7 Desc2 9,4 I've created a pivot table. I've applied formatting to Column Description clicking on section "Formatting headers" with a background color = b
-
Why Lion is working too bad? why apple don't fix it yet?
why Lion is working too bad? why apple don't fix it yet?