Patch upload problem
Hello everybody,
After installing IDES, i had done the creating logical system, it create a request. after that i have update the SPAM, when i am trying to upload other patches then following message is displayed.
Phase RUN_SPAU_?: Infomrmation on objects modified in system
The systesm detemined that some of the objects contained in the support packages have been modified in your system.All in all, the following objects were found
0 Dictionary objects (to be adjusted in SPDD)
2 Repository objects (to be adjusted in SPAU)
To display these modified objects- and to get an idea of the likely effort required for the modification adjustment- start transaction SPAU by choosing ' call SPAU'. please notet that the preview made both kinds of objects are displyed. the actual modification adjustment of course will be performed in transaction SPDD or transaction SPAU depending of the object type.
Note:
As you are importing the queue in the test scenario, you cannot make any changes or carry out a modification adjustment. you can only do this whn importing the queue in the standard scenario after the object have been imported successfully.
then anybody please suggest me how to solve this?
thanks
ganesh
solved
Similar Messages
-
Need a fix for Muse upload problems to GoDaddy???? I found one!
GoDaddy now has a new cpanel named "Plesk". In that panel you will find File Manager. (I use the Windows version). In the left panel of File Manager, you will see the root directory and all of its subfolders. When you click on any of these folders, you will see their contents in the right panel. You will also see a folder labelled "httpdocs". This is the default folder that is set up in GoDaddy to be your "home" folder. So, to fix your upload problems, do these steps:
1. Click on the httpdocs folder to see it open in the right panel. In the toolbar above the right panel, you will see a green plus sign with the word "New". Click on this drop-down menu.
2. Choose "directory"
3. Type in the name of one of the folders that your site will need, e.g. images, css, assets, scripts, etc. This basically creates a subfolder within the httpdocs folder, right? (There is a way to see how your Muse site sets up these folders prior to publish or upload. You do this by choosing "Export as HTML" in the File menu of Muse, creating a folder on your desktop (or wherever) for the HTML export, then inspecting its contents after your save it.)
4. Continue to create all the subfolders within httpdocs that you will need. Unfortunately, you have to do this one folder at a time.
5. After you have them set up, begin the process of uploading your site, like this:
6. In the File menu in Muse, you'll of course see "Upload to FTP Host ...". Click on it.
7. A dialog box will open. In the top text field, type in your website name ... you must use www. with your entry
8. In the "FTP Host" field, type in your domain name again like this ... "ftp.yourdomain.com" ... NO FORWARD SLASHES!!! (even if you find instructions to the contrary, like in Filezilla) (Also, your domain might be a .org or .net, instead of a .com)
9. In the "Host directory" field, YOU MUST ENTER "httpdocs"!!!! Despite what you learn, DO NOT LEAVE THIS FIELD BLANK!!!
10. Then enter your GoDaddy username and password. (If you set up a different username for your GoDaddy account and your Plesk account, like I did, then use your Plesk username and password.)
11. Click on "Upload: All Files"
The next few steps are tedious, but necessary to keep your site organized on GoDaddy and to keep from confusing things. You can probably get away with it, but, if your site doesn't load properly in a browser after doing the above steps, you'll need to click on each folder in the root directory that you copied as a subfolder in the "httpdocs" folder and delete the files. For example, in the left panel of File Manager, you'll see the root directory. Click on the "images" folder. If there are any images that you need for your site in that folder, delete them. Remember ... you've already copied them over to the images subfolder in httpdocs during your last upload described in the instructions above. If you don't trust that you can delete them, click on the "httpdocs" folder, then click on the "images" folder and check the files. Same files, right? So, go ahead and delete the site files that you find in the appropriate folders in the root directory, making sure that you don't delete the ones that are NOT duplicated within the "httpdocs" folder. Also remember that your .html pages will not require a subfolder to be set up in the "httpsdocs" folder. They can just sit there, looking pretty. But you will have to delete them from the root directory to keep things tidy. Just click on the folder icon next to "root directory", and you'll see those html pages in the right panel. Again, delete them.
REMEMBER: To keep your Muse uploads to your GoDaddy site error free, you must ALWAYS make sure that "httpdocs" appears in the "Host directory" field in the "Upload to FTP Host ..." dialog box in Muse. And all files and folders that your site needs MUST go in the "httpdocs" folder in the root directory of your site in GoDaddy's File Manager (now found in your Plesk Panel).
I hope this wasn't too confusing. If so, call GoDaddy. I called them with this fix and they are using it in their phone support.Thank you! Thank you! Thank you! I was going out of my mind. And GoDaddy was no help (although they're usually really good.) I put all the folders in "httpdocs" and the website worked perfectly!
-
I have read through the discussions and see that a lot of people are having an uploading problem. I am too, but my problem is a little different. When I upload my photos, everything seems to be fine, all the pages turn from blue to red, and it appears to be done. But, if I quit iWeb, it says it hasn't finished uploading. When I go to the site on the web, everything is there. So, it seems to not be finalizing the last little part where it marks the files as uploaded.
I am using iWeb 1.1.1.
I have tried deleting the files from my iDisk and uploading again.
I have repaired permissions.
I have deleted the file com.apple.iWeb.plist
It's not that I'm trying to quit too soon, I have left it for hours, even overnight, and it doesn't complete.
There's a small circle to the right of the word site that fills in to show progress as it's finishing, and that gets to the point where there's only a small sliver of white.
Any ideas? Thanks for the help!
Kirsten
MacBook Mac OS X (10.4.7)Have you tried "Publish ALL to .Mac"?
-
Uploading problem with Ebay and Dreamweaver MX
I am unable to sync websites with Dreamweaver MX 6.01. When I connect to the remote server, it shuts down the program. I have reinstalled the program, but it still does it. Also, when I use Safari, Opera, and Firefox to upload photos on Ebay, the upload process fails completely, and blows me directly into My Ebay, as if I was not on the selling page at all. I have to go to my PC to do the photo uploads. Seems like it may be a related issue, some kind of uploading problem with Rosetta, or something. I am using a Macbook Pro with the 2.0Ghz processor, connected with ethernet cable, and firewall is set to off. Any ideas?
For E-Bay you might try the following:
Type the following command in Terminal (while Safari is NOT running):
defaults write com.apple.Safari IncludeDebugMenu 1
Then launch Safari, and you will be able to use the new Debug menu.
If you ever wish to disable it again, just repeat the command with a "0" instead of a "1".
Under the Debug menu, you'll see the User Agent sub-menu; select Windows MSIE 6.0 from the list and then try connecting to your web site
Dreamweaver you might need to update your version.
To Dreamweaver 8.01
http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=f56452a8 -
Hello everybody,
I want to upload the IGS patch, then how to upload, can i use the regular procedure as regular patch upload or IGS file contains standalone installation setup, please suggest me
ThanksHai,
Check the SAP Note 718267, this will help.
Also check 458731.
Regards,
Yoganand.V
Edited by: Yoganand Vedagiri on Jan 12, 2009 3:30 PM -
Uploading problems with Safari 4.1.3 -
Hello, I just thought this was a funny question to ask -
On my PowerPC G5 tower, running OS 10.4.11, and my question is in regards to Safari version 4.1.3 uploading problems for facebook and youtube... I always have to use FireFox version 3.6.13... and not without trouble either.
I get it. I need a new computer, but I just thought it fascinating why one works 90% of the time and the other never works.Firefox is way more upto date than Safari in 10.4.11, but TenFourFox is the most up to date browser for our PPCs, they even have G4 & G5 optimized versions...
http://www.floodgap.com/software/tenfourfox/
Also I think they Require Flash &/or Java, which may be a problem in 10.4 -
Is Safari the problem? upload problems after Leopard install...
I installed maximum ram and leopard 10.5 on my old emac and it runs great. I had problems uploading photos to ebay, and attachments to emails, so I installed ilife hoping the upgrade would fix the problem. Nope, when I attempt to upload, the icon just spins and spins, on and on. Could this be a Safari problem? Very frustrated, totally stumped.
I'm not sure how to link to the iPhoto post thread that help me solve my upload problem. But it is solved. I had to resize the jpeg pic files to 640x320 because my files were way to big. Thanks Old Toad!
-
Hi
My BSP Application was running fine, few days back. But the BASIS guys had uploaded few patch on the sever. Now the look and feel of the BSP pages have changed. Infact i am not able to view several fields in the Page.
Can any body help me out in this regard....
Thanks and Regards
Mithlesh Kumar JhaHi Everyone
Thanks for All your replies.....
The problem got fixed....
Few of the pages in my application used
<!----Commenting style -
!>
now I changed it to
<%-----Commenting Style -
%>
In the page layout......
and its Working fine....
anyway thanks for your contribution......
cheers:)
Mithlesh -
IGS COnverted BMP Image upload problem in SE78
HI Friends,
I Converted the JPEG image into BMP ormat by using IGS. It is converting properly. i am able to see the BMP image. When i am trying to upload it through the SE78 i am getting the short dump.
If convert it manually, i am able to upload the image. i did not get the any difference between these two including file size, width and height.
I attached the shortdump and converted image file as an attachment. Can anyone give me inputs where i am missing the target.
Runtime error : COMPUTE_INT_TIMES_OVERFLOW
Exception : CX_SY_ARITHMETIC_OVERFLOW
Thanks ,
Srinivas BhavanamHi Oisin,
Sorry for the Late Reply. I am using IGS 6.40 with solaris system.
If i am converting the image from my desktop i am getting 96DPI resolution. Where as if i am doing it from IGS i am getting 30682172 DPI resolution.
I am using SAP 4.7. Is it the latest patch level or latest IGS supported.
Short Dump :
Runtime Error COMPUTE_INT_TIMES_OVERFLOW
Exception CX_SY_ARITHMETIC_OVERFLOW
Occurred on 03.03.2010 at 11:04:30
Whole number overflow on multiplication.
What happened?
Error in ABAP application program.
The current ABAP program "SAPLSTXBITMAPS" had to be terminated because one of
the
statements could not be executed.
This is probably due to an error in the ABAP program.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
Error analysis
An exception occurred. This exception is dealt with in more detail below
. The exception, which is assigned to the class 'CX_SY_ARITHMETIC_OVERFLOW',
was neither
caught nor passed along using a RAISING clause, in the procedure
"FILL_BMFILE_FROM_BMP" "(FORM)"
Since the caller of the procedure could not have expected this exception
to occur, the running program was terminated.
The reason for the exception is:
In the current program "SAPLSTXBITMAPS", multiplying the numbers 1207959552 and
100 (using the operation * or 'MULTIPLY') resulted in a value
greater than 2147483647 or smaller than -2147483648. This
results in a whole number overflow.
How to correct the error
The exception must either be prevented, caught within the procedure
"FILL_BMFILE_FROM_BMP"
"(FORM)", or declared in the procedure's RAISING clause.
To prevent the exception, note the following:
You may be able to split the process into separate components, so that
the values generated are smaller.
If the error occurred in one of your own programs or in an SAP program
that you modified, try to correct it yourself.
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "620"
Application server....... "EWR0R3DEV002"
Network address.......... "10.20.32.13"
Operating system......... "SunOS"
Release.................. "5.9"
Hardware type............ "sun4u"
Character length......... 16 Bits
Pointer length........... 64 Bits
Work process number...... 0
Short dump setting....... "full"
Database server.......... "EWR0R3DEV002"
Database type............ "ORACLE"
Database name............ "I07"
Database owner........... "SAPRGG"
Character set............ "C"
SAP kernel............... "640"
Created on............... "Mar 9 2009 21:04:19"
Created in............... "SunOS 5.8 Generic_117350-38 sun4u"
Database version......... "OCI_920 "
Patch level.............. "274"
Patch text............... " "
Supported environment....
Database................. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE
10.2.0.."
SAP database version..... "640"
Operating system......... "SunOS 5.8, SunOS 5.9, SunOS 5.10"
User, transaction...
Client.............. 999
User................ "SREDDY"
Language key........ "E"
Transaction......... "SE78 "
Program............. "SAPLSTXBITMAPS"
Screen.............. "SAPLSTXBITMAPS 4001"
Screen line......... 8
Information on where terminated
The termination occurred in the ABAP program "SAPLSTXBITMAPS" in
"FILL_BMFILE_FROM_BMP".
The main program was "SAPMSSCH ".
The termination occurred in line 1959 of the source code of the (Include)
program "LSTXBITMAPSF03"
of the source code of program "LSTXBITMAPSF03" (when calling the editor 19590).
Processing was terminated because the exception "CX_SY_ARITHMETIC_OVERFLOW"
occurred in the
procedure "FILL_BMFILE_FROM_BMP" "(FORM)" but was not handled locally, not
declared in the
RAISING clause of the procedure.
The procedure is in the program "SAPLSTXBITMAPS ". Its source code starts in
line 1843
of the (Include) program "LSTXBITMAPSF03 ".
Source code extract
019290 endcase.
019300 * compression
019310 perform bmptab_getdword_ofs tables bitmap_file
019320 using ofs bmp_compression.
019330 case bmp_compression.
019340 when c_bmp_compr_rgb. "BI_RGB, uncompressed
019350 when c_bmp_compr_rle8. "BI_RLE8, 256 colors colormap, rle encoding
019360 when c_bmp_compr_rle4. "BI_RLE8, 16 colors colormap, rle encoding
019370 when others. message e872 raising bmperr_unsup_compression.
019380 endcase.
019390 * size of image
019400 perform bmptab_getdword_ofs tables bitmap_file
019410 using ofs bmp_sizeimage.
019420 * pix per meter X
019430 perform bmptab_getlong_ofs tables bitmap_file
019440 using ofs bmp_xpelspermeter.
019450 * pix per meter Y
019460 perform bmptab_getlong_ofs tables bitmap_file
019470 using ofs bmp_ypelspermeter.
019480 * colors used
019490 perform bmptab_getdword_ofs tables bitmap_file
019500 using ofs word.
019510 * colors important
019520 perform bmptab_getdword_ofs tables bitmap_file
019530 using ofs word.
019540 ofs_rgbquad = ofs_bitmapinfoheader + bmp_bisize.
019550 * now we have OFS_RGBQUAD -> color table
019560 * OFS_BITMAPDATA -> bitmap bytes
019570 otf_bminfo-new_rd_format = c_false.
019580 otf_bminfo-is_resident = c_false.
> otf_bminfo-dpi = ( bmp_xpelspermeter * 100 ) / 3937.
019600 perform bmp_adjust_dpi using otf_bminfo-dpi.
019610 otf_bminfo-w_pix = bmp_width.
019620 otf_bminfo-h_pix = abs( bmp_height ).
019630 otf_bminfo-w_tw = ( 1440 * otf_bminfo-w_pix ) / otf_bminfo-dpi.
019640 otf_bminfo-h_tw = ( 1440 * otf_bminfo-h_pix ) / otf_bminfo-dpi.
019650 case bmp_bitcount.
019660 when 1.
019670 otf_bminfo-bitsperpix = 1.
019680 otf_bminfo-bytes_per_row = otf_bminfo-w_pix div 8.
019690 rest = otf_bminfo-w_pix mod 8.
019700 when 4.
019710 otf_bminfo-bitsperpix = 4.
019720 otf_bminfo-bytes_per_row = otf_bminfo-w_pix div 2.
019730 rest = otf_bminfo-w_pix mod 2.
019740 when 8.
019750 otf_bminfo-bitsperpix = 8.
019760 otf_bminfo-bytes_per_row = otf_bminfo-w_pix.
019770 rest = 0.
019780 when 24.
Thanks & Regards,
Srinivas Bhavanam -
I'm trying to install the 9.2.0.8 patch on top of my 9.2.0.4 Oracle installation on Fedora 8 OS and I'm not able to get the installer going. After I get the first screen, it displays for the Oracle_HOME screen and when I press next here, I get the following error:
java: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
If anyone was successful in this installation, please let me know what I have to do to get past this error and get a successful installation.More or less similar problem reported in following thread
Install 11g on Fedora 8? -
FILE UPLOAD PROBLEM SHOWING THE CONTENTS IN THE SAME BROWSER WINDOW
Hi,
This is amit Joshi
I have uploaded content using input tag of type file and posted to jsp as multipart/form-data type
in that jsp i am using following code to display the content in browser but only first content is displayed How can i modify it to show all content in the file ..
<html>
<head>
<title>File Upload Display</title>
</head>
<body>
<%
//ServletOutputStream sout=response.getOutputStream();
StringBuilder strBuilder = new StringBuilder();
int count=0;
String f;
f=request.getParameter("filedb");
DBManager dbm = new DBManager();
//dbm.createTable("mms3");
//log.info("In JSP : "+ f);
//dbm.insert_data(f,"mms3");
%>
<%
if (ServletFileUpload.isMultipartContent(request)){
ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
List fileItemsList = servletFileUpload.parseRequest(request);
strBuilder.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>").append('\r').append('\n').append("<xpage version=\"1.0\">").append('\r').append('\n');
String optionalFileName = "";
FileItem fileItem = null;
Iterator it = fileItemsList.iterator();
ServletOutputStream outputStream=null;
while (it.hasNext()){
FileItem fileItemTemp = (FileItem)it.next();
if (fileItemTemp.isFormField()){
%>
<b>Name-value Pair Info:</b>
Field name: <%= fileItemTemp.getFieldName() %>
Field value: <%= fileItemTemp.getString() %>
<%
if (fileItemTemp.getFieldName().equals("filename"))
optionalFileName = fileItemTemp.getString();
else
fileItem = fileItemTemp;
if (fileItem!=null){
String fileName = fileItem.getName();
%>
<b>Uploaded File Info:</b>
Content type: <%= fileItem.getContentType() %>
Field name: <%= fileItem.getFieldName() %>
File name: <%= fileName %>
<%
if(fileItem.getContentType().equals("image/jpeg")) { %>
File : <p><%
//response.setContentType("image/gif");
byte[] bArray=fileItem.get();
response.setContentType("image/jpeg");
outputStream=null;
outputStream= response.getOutputStream();
outputStream.write(bArray);
outputStream.flush();
outputStream.close();
else if(fileItem.getContentType().equals("text/plain"))
%> File : <%= fileItem.getString() %>
<%
byte[] bArray=fileItem.get();
response.setContentType("text/plain");
outputStream = response.getOutputStream();
out.println();
outputStream.write(bArray);
outputStream.flush();
outputStream.close();
%> </p> <%
%>
</body>
</html>
Edited by: Amit_Joshi on Nov 13, 2007 10:58 PMWell Well Well..
That would not work...
What you have to do is save the uploaded file content on to a location and then pass the fileName as a request parameter to a deidicated which displays the contents of that file.
Just as an example
<html>
<head>
<title>File Upload Display</title>
</head>
<body>
<%
//ServletOutputStream sout=response.getOutputStream();
StringBuilder strBuilder = new StringBuilder();
int count=0;
String f;
f=request.getParameter("filedb");
DBManager dbm = new DBManager();
//dbm.createTable("mms3");
//log.info("In JSP : "+ f);
//dbm.insert_data(f,"mms3");
%>
<%
if (ServletFileUpload.isMultipartContent(request)){
ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
List fileItemsList = servletFileUpload.parseRequest(request);
strBuilder.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>").append('\r').append('\n').append("<xpage version=\"1.0\">").append('\r').append('\n');
String optionalFileName = "";
FileItem fileItem = null;
Iterator it = fileItemsList.iterator();
ServletOutputStream outputStream=null;
while (it.hasNext()){
FileItem fileItemTemp = (FileItem)it.next();
%>
Name-value Pair Info:
Field name: <%= fileItemTemp.getFieldName() %><br/>
Field value: <%= fileItemTemp.getString() %><br/>
<%
if (fileItemTemp.getFieldName().equals("filename"))
optionalFileName = fileItemTemp.getString();
if(!fileTempItem.isFormFiled()){
String fileName = fileItem.getName();
fileItem.write(optionalFileName);
%>
Uploaded File Info:
Content type: <%= fileItem.getContentType() %><br/>
Field name: <%= fileItem.getFieldName() %><br/>
File name: <%= fileName %><br/>
<%
if(fileItem.getContentType().equals("image/jpeg") || fileItem.getContentType().equals("image/pjeg")) {
%>
<img src="FileServlet?fileName=<%=optionalFileName%>"
<%
%>
</body>
</html>a sample code snippet for FileServlet.
String fileName = request.getParameter(fileName);
File file = new File(fileName);
if(!file.exists())
return;
// If JSP
String mimeType = application.getMimeType("fileName");
If you are using servlet
String mimeType = this.getServletContext().getMimeType(fileName);
response.setContentType(mimeType);
response.setHeader("Content-Disposition","inline;filename=\\"+fileName+"\\");
BufferedOutputStream out1 = null;
InputStream in = null;
if(mimeType == null)
mimeType = "application/octet-stream";
try{
in = new FileInputStream(f);
response.setContentLength(in.available());
BufferedOutputStream out1 = new BufferedOutputStream(response.getOutputStream(),1024);
int size = 0;
byte[] b = new byte[1024];
while ((size = in.read(b, 0, 1024)) > 0)
out1.write(b, 0, size);
}catch(Exception exp){
}finally{
if(out1 != null){
try{
out1.flush();
out1.close();
}catch(Exception e){}
if(in != null){
try{in.close();}catch(Exception e){}
} Hope that might answer your question :)
However,this is not the recommended way of doing this make use of MVC pattern.Would be a better approach.
you might think of googling on this and can findout what is the best practise followed for problems of this sort
REGARDS,
RaHuL -
OBIEE 11g 11.1.1.6.0 to upper version Patch install problem
Hi
when am trying install the patch for obiee11g 11.1.1.6.0 to upper version i facing this problem
OPatch Version : 11.1.0.9.0
OUI Version : 11.2.0.1.0
The OUI version is not applicable for current OPatch version.
OPatch failed with error code = 1
i saw this blog http://obieelive.blogspot.in/2012/07/obiee-111161-patch-from-111160-in.html
am not under stand what the purpose of Oracle_home is it related to DB or OBI Application?
what is purpose of ORACLE_HOME VARIABLE?
any one guide me for installation OBIEE11g to upper version and how to install the patchs step by step
Regards
Leela Krishna995847 wrote:
Hi
when am trying install the patch for obiee11g 11.1.1.6.0 to upper version i facing this problem
OPatch Version : 11.1.0.9.0_
*> OUI Version : 11.2.0.1.0*
The OUI version is not applicable for current OPatch version.
OPatch failed with error code = 1
i saw this blog http://obieelive.blogspot.in/2012/07/obiee-111161-patch-from-111160-in.html
am not under stand what the purpose of Oracle_home is it related to DB or OBI Application?
what is purpose of ORACLE_HOME VARIABLE?
any one guide me for installation OBIEE11g to upper version and how to install the patchs step by step
Regards
Leela KrishnaOpatch should be higher than OUI version.. Your OPatch is outdated that's why you are receiving the above error
you need to download the latest OPatch by searching http://support.oracle.com for 'How To Download And Install The Latest OPatch Version [ID 274526.1]'
After which you can start with the Patching of OBIEE.
http://www.askjohnobiee.com/2012/10/how-to-apply-obiee-11g-bundle-patch-set.html
Please mark helpful/correct
Thanks,
RM -
Hi I am using a ftp class (known as FTPConnection) that i found on this site: http://www.nsftools.com/tips/JavaFtp.htm , and they only have an example of how to download a File through FTP and not upload one. I am in the proccess of making an FTP upload applet, and need some help on getting upload to work. I also need it to work on both a Pc and mac, so that may be attributing to the problem becuase i am currently on a mac which uses file:// instead of C:\\. Ill post the ftp class, and a snippet of my code that tries to upload a selected file.
FTPConnection
/* <!-- in case someone opens this in a browser... --> <pre> */
* File: FTPConnection.java
* Author: Bret Taylor <[email protected]>
* URL: http://www.stanford.edu/~bstaylor/cs/ftpconnection/FTPConnection.java.shtml
* see also <a href="http://www.nsftools.com/tips/JavaFtp.htm">http://www.nsftools.com/tips/JavaFtp.htm</a>
* $Id$
* Parts of this code were adopted from a variety of other FTP classes the
* author has encountered that he was not completely satisfied with. If you
* think more thanks are due to any particular author than is given, please
* let him know. With that caveat, this class can be freely distributed and
* modified as long as Bret Taylor is given credit in the source code comments.
* Modified by Julian Robichaux -- http://www.nsftools.com
* Added constructors, logout(), listFiles(), listSubdirectories(), getAndParseDirList(),
* processFileListCommand(), and overloaded getFullServerReply().
* Also added StringBuffer parameter options to transferData() and executeDataCommand()
* and did a few other little things.
import java.io.*;
import java.net.*;
import java.util.*;
* <p>A wrapper for the network and command protocols needed for the most common
* FTP commands. Standard usage looks something like this:</p>
* <pre> FTPConnection connection = new FTPConnection();
* try {
* if (connection.connect(host)) {
* if (connection.login(username, password)) {
* connection.downloadFile(serverFileName);
* connection.uploadFile(localFileName);
* connection.disconnect();
* } catch (UnknownHostException e) {
* // handle unknown host
* } catch (IOException e) {
* // handle I/O exception
* }</pre>
* <p>Most FTP commands are wrapped by easy-to-use methods, but in case clients
* need more flexibility, you can execute commands directly using the methods
* <a href="#executeCommand(java.lang.String)">executeCommand</a> and
* <a href="#executeDataCommand(java.lang.String,
* java.io.OutputStream)">executeDataCommand</a>,
* the latter of which is used for commands that require an open data port.</p>
* @author Bret Taylor
* @author Julian Robichaux
* @version 1.01
public class FTPConnection extends Object {
* If this flag is on, we print out debugging information to stdout during
* execution. Useful for debugging the FTP class and seeing the server's
* responses directly.
private static boolean PRINT_DEBUG_INFO = false;
* The socket through which we are connected to the FTP server.
private Socket connectionSocket = null;
private String username;
private String password;
private String host;
* The socket output stream.
private PrintStream outputStream = null;
* The socket input stream.
private BufferedReader inputStream = null;
* The offset at which we resume a file transfer.
private long restartPoint = 0L;
* Added by Julian: If this flag is on, we're currently logged in to something.
private boolean loggedIn = false;
* Added by Julian: This is the line terminator to use for multi-line responses.
public String lineTerm = "\n";
* Added by Julian: This is the size of the data blocks we use for transferring
* files.
private static int BLOCK_SIZE = 4096;
* Added by Julian: After you create an FTPConnection object, you will call the
* connect() and login() methods to access your server. Please don't forget to
* logout() and disconnect() when you're done (it's only polite...).
public FTPConnection ()
// default constructor (obviously) -- this is just good to have...
* Added by Julian: Allows you to specify if you want to send debug output to
* the console (true if you do, false if you don't).
public FTPConnection (boolean debugOut)
PRINT_DEBUG_INFO = debugOut;
public FTPConnection (String user, String pw, String host_)
username=user;
password=pw;
host=host_;
PRINT_DEBUG_INFO = false;
* Prints debugging information to stdout if the private flag
* <code>PRINT_DEBUG_INFO</code> is turned on.
private void debugPrint(String message) {
if (PRINT_DEBUG_INFO) System.err.println(message);
* Connects to the given FTP host on port f, the default FTP port.
public boolean connect(String host)
throws UnknownHostException, IOException
return connect(host, 21);
* Connects to the given FTP host on the given port.
public boolean connect(String host, int port)
throws UnknownHostException, IOException
connectionSocket = new Socket(host, port);
connectionSocket.setSoTimeout(10000);
outputStream = new PrintStream(connectionSocket.getOutputStream());
inputStream = new BufferedReader(new
InputStreamReader(connectionSocket.getInputStream()));
if (!isPositiveCompleteResponse(getServerReply())){
disconnect();
return false;
return true;
* Disconnects from the host to which we are currently connected.
static boolean URLexists(String URLName)
try
HttpURLConnection.setFollowRedirects(false);
// note : you may also need
// HttpURLConnection.setInstanceFollowRedirects(false)
HttpURLConnection con =
(HttpURLConnection) new URL(URLName).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
catch (Exception e)
e.printStackTrace();
return false;
public String getSimpleFileName(File f)
String path=f.getPath();
String fileName=path.replace("\\", "/");
int slashPos = fileName.lastIndexOf("/");
fileName=fileName.substring(slashPos+1);
return fileName;
public String verifyFileName(String name)
int count=0;
//String url="http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20");
while (URLexists("http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20"))==true)
count++;
name=FileExt(name)[0]+"-"+count+"."+FileExt(name)[1];
return name;
public String[] FileExt(String fileName)
int dotPos = fileName.lastIndexOf(".");
fileName=fileName.replace("\\", "/");
int slashPos = fileName.lastIndexOf("/");
String extension, name;
if (slashPos==fileName.length()-1)
fileName=fileName.substring(0, fileName.length()-1);
slashPos=fileName.lastIndexOf("/");
extension="/";
name=fileName.substring(slashPos+1);
else if(dotPos==-1)
name=fileName.substring(slashPos+1);
extension="";
else
extension = fileName.substring(dotPos+1);
name=fileName.substring(slashPos+1, dotPos);
String[] output={name, extension};
return output;
String[] output={name, extension};
return output;
public void disconnect()
if (outputStream != null) {
try {
if (loggedIn) { logout(); };
outputStream.close();
inputStream.close();
connectionSocket.close();
} catch (IOException e) {}
outputStream = null;
inputStream = null;
connectionSocket = null;
* Wrapper for the commands <code>user [username]</code> and <code>pass
* [password]</code>.
public boolean login(String username, String password)
throws IOException
int response = executeCommand("user " + username);
if (!isPositiveIntermediateResponse(response)) return false;
response = executeCommand("pass " + password);
loggedIn = isPositiveCompleteResponse(response);
return loggedIn;
* Added by Julian: Logout before you disconnect (this is good form).
public boolean logout()
throws IOException
int response = executeCommand("quit");
loggedIn = !isPositiveCompleteResponse(response);
return !loggedIn;
* Wrapper for the command <code>cwd [directory]</code>.
public boolean changeDirectory(String directory)
throws IOException
int response = executeCommand("cwd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the commands <code>rnfr [oldName]</code> and <code>rnto
* [newName]</code>.
public boolean renameFile(String oldName, String newName)
throws IOException
int response = executeCommand("rnfr " + oldName);
if (!isPositiveIntermediateResponse(response)) return false;
response = executeCommand("rnto " + newName);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>mkd [directory]</code>.
public boolean makeDirectory(String directory)
throws IOException
int response = executeCommand("mkd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>rmd [directory]</code>.
public boolean removeDirectory(String directory)
throws IOException
int response = executeCommand("rmd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>cdup</code>.
public boolean parentDirectory()
throws IOException
int response = executeCommand("cdup");
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>dele [fileName]</code>.
public boolean deleteFile(String fileName)
throws IOException
int response = executeCommand("dele " + fileName);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>pwd</code>.
public String getCurrentDirectory()
throws IOException
String response = getExecutionResponse("pwd");
StringTokenizer strtok = new StringTokenizer(response);
// Get rid of the first token, which is the return code
if (strtok.countTokens() < 2) return null;
strtok.nextToken();
String directoryName = strtok.nextToken();
// Most servers surround the directory name with quotation marks
int strlen = directoryName.length();
if (strlen == 0) return null;
if (directoryName.charAt(0) == '\"') {
directoryName = directoryName.substring(1);
strlen--;
if (directoryName.charAt(strlen - 1) == '\"')
return directoryName.substring(0, strlen - 1);
return directoryName;
* Wrapper for the command <code>syst</code>.
public String getSystemType()
throws IOException
return excludeCode(getExecutionResponse("syst"));
* Wrapper for the command <code>mdtm [fileName]</code>. If the file does
* not exist, we return -1;
public long getModificationTime(String fileName)
throws IOException
String response = excludeCode(getExecutionResponse("mdtm " + fileName));
try {
return Long.parseLong(response);
} catch (Exception e) {
return -1L;
* Wrapper for the command <code>size [fileName]</code>. If the file does
* not exist, we return -1;
public long getFileSize(String fileName)
throws IOException
String response = excludeCode(getExecutionResponse("size " + fileName));
try {
return Long.parseLong(response);
} catch (Exception e) {
return -1L;
* Wrapper for the command <code>retr [fileName]</code>.
public boolean downloadFile(String fileName)
throws IOException
return readDataToFile("retr " + fileName, fileName);
* Wrapper for the command <code>retr [serverPath]</code>. The local file
* path to which we will write is given by <code>localPath</code>.
public boolean downloadFile(String serverPath, String localPath)
throws IOException
return readDataToFile("retr " + serverPath, localPath);
* Wrapper for the command <code>stor [fileName]</code>.
public boolean uploadFile(String fileName)
throws IOException
return writeDataFromFile("stor " + fileName, fileName);
* Wrapper for the command <code>stor [localPath]</code>. The server file
* path to which we will write is given by <code>serverPath</code>.
public boolean uploadFile(String serverPath, String localPath)
throws IOException
return writeDataFromFile("stor " + serverPath, localPath);
* Set the restart point for the next download or upload operation. This
* lets clients resume interrupted uploads or downloads.
public void setRestartPoint(int point)
restartPoint = point;
debugPrint("Restart noted");
* Gets server reply code from the control port after an ftp command has
* been executed. It knows the last line of the response because it begins
* with a 3 digit number and a space, (a dash instead of a space would be a
* continuation).
private int getServerReply()
throws IOException
return Integer.parseInt(getFullServerReply().substring(0, 3));
* Gets server reply string from the control port after an ftp command has
* been executed. This consists only of the last line of the response,
* and only the part after the response code.
private String getFullServerReply()
throws IOException
String reply;
do {
reply = inputStream.readLine();
debugPrint(reply);
} while(!(Character.isDigit(reply.charAt(0)) &&
Character.isDigit(reply.charAt(1)) &&
Character.isDigit(reply.charAt(2)) &&
reply.charAt(3) == ' '));
return reply;
* Added by Julian: Returns the last line of the server reply, but also
* returns the full multi-line reply in a StringBuffer parameter.
private String getFullServerReply(StringBuffer fullReply)
throws IOException
String reply;
fullReply.setLength(0);
do {
reply = inputStream.readLine();
debugPrint(reply);
fullReply.append(reply + lineTerm);
} while(!(Character.isDigit(reply.charAt(0)) &&
Character.isDigit(reply.charAt(1)) &&
Character.isDigit(reply.charAt(2)) &&
reply.charAt(3) == ' '));
// remove any trailing line terminators from the fullReply
if (fullReply.length() > 0)
fullReply.setLength(fullReply.length() - lineTerm.length());
return reply;
* Added by Julian: Gets a list of files in the current directory.
public String listFiles()
throws IOException
return listFiles("");
* Added by Julian: Gets a list of files in either the current
* directory, or one specified as a parameter. The 'params' parameter
* can be either a directory name, a file mask, or both (such as
* '/DirName/*.txt').
public String listFiles(String params)
throws IOException
StringBuffer files = new StringBuffer();
StringBuffer dirs = new StringBuffer();
if (!getAndParseDirList(params, files, dirs))
debugPrint("Error getting file list");
return files.toString();
* Added by Julian: Gets a list of subdirectories in the current directory.
public String listSubdirectories()
throws IOException
return listSubdirectories("");
* Added by Julian: Gets a list of subdirectories in either the current
* directory, or one specified as a parameter. The 'params' parameter
* can be either a directory name, a name mask, or both (such as
* '/DirName/Sub*').
public String listSubdirectories(String params)
throws IOException
StringBuffer files = new StringBuffer();
StringBuffer dirs = new StringBuffer();
if (!getAndParseDirList(params, files, dirs))
debugPrint("Error getting dir list");
return dirs.toString();
* Added by Julian: Sends and gets the results of a file list command,
* like LIST or NLST.
private String processFileListCommand(String command)
throws IOException
StringBuffer reply = new StringBuffer();
String replyString;
// file listings require you to issue a PORT command,
// like a file transfer
boolean success = executeDataCommand(command, reply);
if (!success)
return "";
replyString = reply.toString();
// strip the trailing line terminator from the reply
if (reply.length() > 0)
return replyString.substring(0, reply.length() - 1);
} else {
return replyString;
* Added by Julian: Gets a directory list from the server and parses
* the elements into a list of files and a list of subdirectories.
private boolean getAndParseDirList(String params, StringBuffer files, StringBuffer dirs)
throws IOException
// reset the return variables (we're using StringBuffers instead of
// Strings because you can't change a String value and pass it back
// to the calling routine -- changing a String creates a new object)
files.setLength(0);
dirs.setLength(0);
// get the NLST and the LIST -- don't worry if the commands
// don't work, because we'll just end up sending nothing back
// if that's the case
String shortList = processFileListCommand("nlst " + params);
String longList = processFileListCommand("list " + params);
// tokenize the lists we got, using a newline as a separator
StringTokenizer sList = new StringTokenizer(shortList, "\n");
StringTokenizer lList = new StringTokenizer(longList, "\n");
// other variables we'll need
String sString;
String lString;
// assume that both lists have the same number of elements
while ((sList.hasMoreTokens()) && (lList.hasMoreTokens())) {
sString = sList.nextToken();
lString = lList.nextToken();
if (lString.length() > 0)
if (lString.startsWith("d"))
dirs.append(sString.trim() + lineTerm);
debugPrint("Dir: " + sString);
} else if (lString.startsWith("-")) {
files.append(sString.trim() + lineTerm);
debugPrint("File: " + sString);
} else {
// actually, symbolic links will start with an "l"
// (lowercase L), but we're not going to mess with
// those
debugPrint("Unknown: " + lString);
// strip off any trailing line terminators and return the values
if (files.length() > 0) { files.setLength(files.length() - lineTerm.length()); }
if (dirs.length() > 0) { dirs.setLength(dirs.length() - lineTerm.length()); }
return true;
* Executes the given FTP command on our current connection, returning the
* three digit response code from the server. This method only works for
* commands that do not require an additional data port.
public int executeCommand(String command)
throws IOException
outputStream.println(command);
return getServerReply();
* Executes the given FTP command on our current connection, returning the
* last line of the server's response. Useful for commands that return
* one line of information.
public String getExecutionResponse(String command)
throws IOException
outputStream.println(command);
return getFullServerReply();
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the file with the given name, returning true
* if the server indicates that the operation was successful.
public boolean readDataToFile(String command, String fileName)
throws IOException
// Open the local file
RandomAccessFile outfile = new RandomAccessFile(fileName, "rw");
// Do restart if desired
if (restartPoint != 0) {
debugPrint("Seeking to " + restartPoint);
outfile.seek(restartPoint);
// Convert the RandomAccessFile to an OutputStream
FileOutputStream fileStream = new FileOutputStream(outfile.getFD());
boolean success = executeDataCommand(command, fileStream);
outfile.close();
return success;
* Executes the given ftpd command on the server and writes the contents
* of the given file to the server on an opened data port, returning true
* if the server indicates that the operation was successful.
public boolean writeDataFromFile(String command, String fileName)
throws IOException
// Open the local file
RandomAccessFile infile = new RandomAccessFile(fileName, "r");
// Do restart if desired
if (restartPoint != 0) {
debugPrint("Seeking to " + restartPoint);
infile.seek(restartPoint);
// Convert the RandomAccessFile to an InputStream
FileInputStream fileStream = new FileInputStream(infile.getFD());
boolean success = executeDataCommand(command, fileStream);
infile.close();
return success;
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the given OutputStream, returning true
* if the server indicates that the operation was successful.
public boolean executeDataCommand(String command, OutputStream out)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
InputStream in = clientSocket.getInputStream();
transferData(in, out);
// Clean up the data structures
in.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Executes the given ftpd command on the server and writes the contents
* of the given InputStream to the server on an opened data port, returning
* true if the server indicates that the operation was successful.
public boolean executeDataCommand(String command, InputStream in)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
OutputStream out = clientSocket.getOutputStream();
transferData(in, out);
// Clean up the data structures
out.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Added by Julian: Executes the given ftpd command on the server
* and writes the results returned on the data port to the given
* StringBuffer, returning true if the server indicates that the
* operation was successful.
public boolean executeDataCommand(String command, StringBuffer sb)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
InputStream in = clientSocket.getInputStream();
transferData(in, sb);
// Clean up the data structures
in.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Transfers the data from the given input stream to the given output
* stream until we reach the end of the stream.
private void transferData(InputStream in, OutputStream out)
throws IOException
byte b[] = new byte[BLOCK_SIZE];
int amount;
// Read the data into the file
while ((amount = in.read(b)) > 0) {
out.write(b, 0, amount);
* Added by Julian: Transfers the data from the given input stream
* to the given StringBuffer until we reach the end of the stream.
private void transferData(InputStream in, StringBuffer sb)
throws IOException
byte b[] = new byte[BLOCK_SIZE];
int amount;
// Read the data into the StringBuffer
while ((amount = in.read(b)) > 0) {
sb.append(new String(b, 0, amount));
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the given FilterOutputStream, returning true
* if the server indicates that the operation was successful.
private boolean setupDataPort(String command, ServerSocket serverSocket)
throws IOException
// Send our local data port to the server
if (!openPort(serverSocket)) return false;
// Set binary type transfer
outputStream.println("type i");
if (!isPositiveCompleteResponse(getServerReply())) {
debugPrint("Could not set transfer type");
return false;
// If we have a restart point, send that information
if (restartPoint != 0) {
outputStream.println("rest " + restartPoint);
restartPoint = 0;
// TODO: Interpret server response here
getServerReply();
// Send the command
outputStream.println(command);
return isPositivePreliminaryResponse(getServerReply());
* Get IP address and port number from serverSocket and send them via the
* <code>port</code> command to the ftp server, returning true if we get a
* valid response from the server, returning true if the server indicates
* that the operation was successful.
private boolean openPort(ServerSocket serverSocket)
throws IOException
int localport = serverSocket.getLocalPort();
// get local ip address
InetAddress inetaddress = serverSocket.getInetAddress();
InetAddress localip;
try {
localip = inetaddress.getLocalHost();
} catch(UnknownHostException e) {
debugPrint("Can't get local host");
return false;
// get ip address in high byte order
byte[] addrbytes = localip.getAddress();
// tell server what port we are listening on
short addrshorts[] = new short[4];
// problem: bytes greater than 127 are printed as negative numbers
for(int i = 0; i <= 3; i++) {
addrshorts[i] = addrbytes;
if (addrshorts[i] < 0)
addrshorts[i] += 256;
outputStream.println("port " + addrshorts[0] + "," + addrshorts[1] +
"," + addrshorts[2] + "," + addrshorts[3] + "," +
((localport & 0xff00) >> 8) + "," +
(localport & 0x00ff));
return isPositiveCompleteResponse(getServerReply());
* True if the given response code is in the 100-199 range.
private boolean isPositivePreliminaryResponse(int response)
return (response >= 100 && response < 200);
* True if the given response code is in the 300-399 range.
private boolean isPositiveIntermediateResponse(int response)
return (response >= 300 && response < 400);
* True if the given response code is in the 200-299 range.
private boolean isPositiveCompleteResponse(int response)
return (response >= 200 && response < 300);
* True if the given response code is in the 400-499 range.
private boolean isTransientNegativeResponse(int response)
return (response >= 400 && response < 500);
* True if the given response code is in the 500-5ok i tried explaining th eproblem in the previous post, but i apologize if my explanation was poor. anyways, i tried to look into it further by doing a printStackTrace() and believe it may be a read error. here is my new updated snippet, and also a link to a screenshot ([click here for screenshot|http://img143.imageshack.us/my.php?image=picture4qr0.png]) of what the error looks like on my end. it seems like a socket is not being read, or maybe it is initialized properly. Again I apologize if my problem is vague, but I do appreciate your input. thanks.
updated code snippet
public void uploadFiles()
statusLabel.setVisible(true);
errorLabel.setVisible(true);
uploadButton.setVisible(false);
footer.setVisible(false);
holdingPanel.setVisible(false);
pbar.setVisible(true);
pbar = new JProgressBar();
pbar.setMinimum(0);
float Total=0;
for (int i=0; i<fileLengths.size(); i++)
if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
Total+=Float.parseFloat((String)fileLengths.get(i));
pbar.setMaximum((int)Total);
String info="";
try
ftp=new FTPConnection(false);
ftp.connect("ftp.chris-malcolm.com");
if (ftp.login("chrismal", "***"))
statusLabel.setText("Status: Connected.");
info+="Successfully logged in!\n";
info+="System type is: " + ftp.getSystemType()+"\n";
info+="Current directory is: " + ftp.getCurrentDirectory()+"\n";
if (ftp.changeDirectory("/www/images/"))
info+="directory changed to: " + ftp.getCurrentDirectory()+"\n";
try
for (int i=0; i<allFiles.size(); i++)
if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
String f=client.verifyFileName((String)model.getValueAt(i,0));
String f2=""+((File)allFiles.get(i)).getPath();
info+="filename: "+f2+"\n";
if (ftp.uploadFile(f2))
statusLabel.setText("Status: Uploading "+f+" - "+i+" of "+calculateTotalFiles()+" files(s)");
pbar.setValue(Integer.parseInt((String)fileLengths.get(i)));
else
errorLabel.setText("Error occured while uploading"+f2+"\n");
catch(Exception de)
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
de.printStackTrace(pw);
pw.close();
//errorLabel.setText("<html>ERROR:"+sw.toString().replace("\n", "<br>")+"</html>");
info+="Error: "+de.getMessage()+"\n";
info+="Trace: "+sw+"\n";
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
else
info+="could not change directory\n";
else
info+="could not login";
catch (Exception e)
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
pw.close();
info+="Error: "+e.getMessage()+"\n";
info+="Trace: "+sw+"\n";
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
errorLabel.setText("ERROR:"+info);
JOptionPane.showMessageDialog(this, info, "test", JOptionPane.PLAIN_MESSAGE);
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
Edited by: cjm771 on Jul 13, 2008 7:23 PM -
IDM 8.1.02 patch - many problems
We installed IDM patch 8.1.02 to fix Oracle case sensitive ID bug. Basically in 8.1.01 path IDM inserts users as "userid" , enforcing lowercase logons to Oracle. This was the case where case senstive was checked or not in Oracle RAC resource definition.
Anyways - 8.1.02 fixed the issue - however it broke the following for us.
LDAP Recons - started failing with java.lang out of memory issue.
SAP resource adapters - SAP GUI started forcing users to change their password after they changed their own password through IDM user interface or Active Directory password sync.
So we have decided to pull 8.1.02 path. We have also opened tickets with Sun to report above issues with this patch. Anybody else having issues with this patch.
Thanks,Downgrading the iOS version is not supported by Apple.
What problems are you having, and what have you tried to see if they fix/improve things ? Have you tried :
- closing apps via the iPad's taskbar : iOS: Force an app to close.
- if having problems with Safari then try clearing its history and data : Settings > Safari
- soft-reset : press and hold both the sleep and home buttons for about 10 to 15 seconds (ignore the red slider), after which the Apple logo should appear - you won't lose any content, it's the iPad equivalent of a reboot.
- backing up (and copying any purchases over to your computer's iTunes library via File > Devices > Transfer Purchases) and restoring
- adjusting settings e.g. turning 'reduce motion' on (Settings > General > Accessibility), turning off 'background app refresh (Settings > General), turn off multitasking gestures (Settings > General)
- resetting back to factory defaults (after copying off purchases and any documents, photos etc that you want to keep) and then resyncing
iOS 8.02 issues -
Oracle 8.1.5.0.1 Patch Relink Problem
When applying the patch I got the following error:
/usr/bin/ld: cannot open -lordsdo8: No such file or directory
collect2: ld returned 1 exit status
gmake: *** [usr/local/ora815/rdbms/lib/oracle] Error 1
Which I have tracked down to this line of the patch script:
gmake -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk ioracle
The problem is I don't have that (*ordsdo*) anywhere on my
system. Which is a Red Hat 6.0 base install. (Nothing fancy)
I assume that this is one of the many Oracle libraries/shared
objects. Has anyone else hit this issue or know where that
library/shared object can be found? I need this portion
resolved to resolve the issue of not being able to connect to
the database with any accout other than the one I installed with.
Any help would be appreciated.
Larry Kreier
nullI think I've found the problem.... Taking a guess at the Oracle
lib naming conventions, ordsdo is the spatial data option lib. I
re-installed Oracle 8.1.5 with all of the options selected, and
didn't get this message. However, after applying the patch,
svrmgrl now core dumps. Everything else seems to work (sqlplus,
netasst etc...).
Vittorio (guest) wrote:
: Larry Kreier (guest) wrote:
: : When applying the patch I got the following error:
: : /usr/bin/ld: cannot open -l: No such file or directory
: : collect2: ld returned 1 exit status
: : gmake: *** [usr/local/ora815/rdbms/lib/oracle] Error 1
: : Which I have tracked down to this line of the patch script:
: : gmake -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk ioracle
: : The problem is I don't have that (*ordsdo*) anywhere on my
: : system. Which is a Red Hat 6.0 base install. (Nothing fancy)
: <<snip>>
: : Any help would be appreciated.
: : Larry Kreier
: I have the very same problem, but no ideas.
: Regards.
: Vittorio
null
Maybe you are looking for
-
I have the Apple ATI X1900 powering two 24" Dell monitors for editing and want to add an Apple Geforce 7300 for sending VGA to a 32" LCD TV (3rd monitor) for clients to view my work. Using a firewire device for the TV works for FinalCut Pro but does
-
Calendar subscription without alarms
Is it possible to subscribe to somebody's calendar without importing their alarms? My girlfriend would like to share her work shedule (she works different shifts) with me so that I know when she has time off but she often forgets to uncheck the alarm
-
Bonjour, J'ai un problème de mise à jour depuis 3 semaines. Je suis abonné pour ne pas avoir ce genre de problème et rien ne fonctionne. C'est vraiment énervant. En plus votre site est un véritable labyrinte pour se perdre et cela aussi énerve. Le me
-
DataSources transport from development to QA TESTING???
Hi Gurus, I developed some objects in my D system using a generic extractions. I used 3 DataSources . Ii transported all my SAP BW object in the testing system. now I need to collect my 3 DataSource in the R/3 development System to the R/3 system. P
-
Installation of Adobe Photoshop Elements 12 & Adobe Premiere Elements 12 Student and Teacher Edition
After initiating download I receive a msg about not all parts archived and that I need to select a program to open. I'm not a total dumb-bunny, but I am totally stuck! Diane Jackson, MO