Maximum Length of Query String
Hello all,
I am getting the (in)famous null pointer exception inside my Webaction. I am appending certain parameters to my Action object in Javascript, so that they are avaialble in my webaction. Here there is no way that a certain value can come null [i am setting the value to true while declaring the var]. The possible problem could be the maximum length of the querystring. I am doubting that the maximum allowed length of Querystring is exceeded and thus I am not getting the last appended parameter upon submitting the form, thus giving me null value.
Can someone please let me know what is the maximum allowed length of querystring inside a JSP
The maximum URL length allowed by Internet Explorer is ~2,048
characters. This includes the host name, directory, page, and all
parameters.
may be this is limiting ur parameter........
Similar Messages
-
Maximum length of query string for functions return a SELECT
Hi all,
I have a report that gets it's SELECT statement from a function, instead of being coded into the region. All was well but I suspect now I'm blowing some kind of limit as I'm getting an error :
ORA-06502: PL/SQL: numeric or value error
Error ERR-1101 Unable to process function body returning query.
However if I run the procedure out of ApEx and grab the SELECT statement then it works fine. The length of the query is 8636 bytes (yup, it's a beauty!).
Does anyone know if there is a hard limit to the size of the string that can be returned?
I'm using ApEx 3.1.
Thanks,
Steve HI do have a similar painfull scenario - Although my query length is very less i.e 618 bytes only.
I have defined a stored function, which returns an SQL query string, this return SQL string executes fantastic but when I tried to to call this function from a APEX report it gives error. the details are as follows. Please help.......
The function code:
CREATE OR REPLACE function PROD."TEST_C_QRY"
return VARCHAR2
is
msql VARCHAR2(32767);
Begin
msql:='Select null,statusname,AgeInd, ';
For m_stat in (select statusname from a02_status)
loop
msql:= msql || q'[decode(statusname,']';
msql:= msql || m_stat.statusname;
msql:= msql || q'[',count(id),0) ]';
msql:= msql || m_stat.statusname|| ',';
end loop;
msql:=rtrim(msql,',');
msql:= msql||' from ';
msql:= msql||'( ';
msql:= msql||'select a.id, round(sysdate-a.registeredon) TimeSpan,';
msql:= msql||'case ';
msql:= msql||q'[when round(sysdate-a.registeredon)<=7 then 'Week' ]';
msql:= msql||q'[when round(sysdate-a.registeredon)>7 and round(sysdate-a.registeredon)<14 then 'Fortnight' ]';
msql:= msql||q'[when round(sysdate-a.registeredon)>14 and round(sysdate-a.registeredon)<30 then 'Month' ]';
msql:= msql||q'[else 'More...' end ageind,]';
msql:= msql||'a.status_id,b.statusname ';
msql:= msql||'from a02_task a,a02_status b ';
msql:= msql||'where b.id=a.status_id) ';
msql:= msql||'group by statusname,AgeInd;';
return msql;
end TEST_C_QRY;
The Output SQL comes from this is
SQL> Select null,statusname,AgeInd, decode(statusname,'Scheduled',count(id),0) Scheduled,decode(statusname,'Executing',count(id),0) Executing,decode(statusname,
'Completed',count(id),0) Completed from ( select a.id, round(sysdate-a.registeredon) TimeSpan, case when round(sysdate-a.registeredon)<=7 then 'Week' when round
(sysdate-a.registeredon)>7 and round(sysdate-a.registeredon)<14 then 'Fortnight' when round(sysdate-a.registeredon)>14 and round(sysdate-a.registeredon)<30 then
'Month' else 'More...' end ageind, a.status_id,b.statusname from a02_task a,a02_status b where b.id=a.status_id) group by statusname,AgeInd;
The result that comes when I execute the above resultant SQL is as follows.
N STATUSNAME AGEIND SCHEDULED EXECUTING COMPLETED
Completed More... 0 0 4
Completed Week 0 0 1
Scheduled Week 1 0 0
Completed Month 0 0 3
Executing More... 0 1 0
Executing Month 0 6 0
Scheduled More... 1 0 0
7 rows selected.
But the surprising error that comes from Oracle XE when I use the following code for stacked bar chart
Code:
begin
return TEST_D_QRY;
end;
Error thrown by XE report builder is as follows:
1 error has occurred
Failed to parse SQL query!
Select null,statusname,AgeInd, decode(statusname,'Scheduled',count(id),0) Scheduled,decode(statusname,'Executing',count(id),0) Executing,decode(statusname,'Completed',count(id),0) Completed from ( select a.id, round(sysdate-a.registeredon) TimeSpan, case when round(sysdate-a.registeredon)<=7 then 'Week' when round(sysdate-a.registeredon)>7 and round(sysdate-a.registeredon)<14 then 'Fortnight' when round(sysdate-a.registeredon)>14 and round(sysdate-a.registeredon)<30 then 'Month' else 'More...' end ageind, a.status_id,b.statusname from a02_task a,a02_status b where b.id=a.status_id) group by statusname,AgeInd;
Certain queries can only be executed when running your application, if your query appears syntactically correct, you can save your query without validation (see options below query source).
Regards,
Soumen -
The maximum length of java.lang.String
Currently I working for intrepret an XML file and transform to another XML using XSLT based on the the DOM node reading concept.
I have a study that i need to input a String type of the XML file content, and the maximum size of the String is possibly 3MB.
However, I've tried to initialize using String object or String reference, finding that the there's runtime exception when the length of the String exceeds 64K.
I've read the VM spec telling that based on the UTF-8 encoding standard, we can't define primitive type (include String reference/object) that exceeds 64K.
Any suggestion of solving (or suggest some possible class that can be used to hold a data of 3MB size), Thanks !!Currently I working for intrepret an XML file and
transform to another XML using XSLT based on the the
DOM node reading concept.
I have a study that i need to input a String type of
the XML file content, and the maximum size of the
String is possibly 3MB.
However, I've tried to initialize using String object
or String reference, finding that the there's runtime
exception when the length of the String exceeds 64K.Strings can exceed 64k. If you are getting a run time exception then it is due to something else.
>
I've read the VM spec telling that based on the UTF-8
encoding standard, we can't define primitive type
(include String reference/object) that exceeds 64K.No. It doesn't say that.
A literal, which the JVM creates a string instance from, can only be 64k bytes. But that does not limit the length of a String instance.
Any suggestion of solving (or suggest some possible
class that can be used to hold a data of 3MB size),
Thanks !! -
Maximum length of identifier in insert query
Hi,
I am using Sybase 12.0 with JConnect 5.
I am facing some problem with insert query.
It gives exception like " identitifer is too long maximum length is 30"
If i run then same query on winSql its working fine but with JDBC not working.
Pls help me reagrding this.Hi,
this is the error message i am getting
com.sybase.jdbc2.jdbc.SybSQLException: The identifier that starts with '"T3211PU,,insert into Illustr' is too long. Maximum length is 28.
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2408)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java(Compiled Code))
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:201)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:182)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.jdbc.SybStatement.executeLoop(SybStatement.java:1535)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:1527)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:742)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.dcx.catl.macscompiler.util.CommonDataAccessManager.execQueryRetState(CommonDataAccessManager.java:759)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.dcx.catl.macscompiler.bo.RemoveIllustrationJavaBean.execute(RemoveIllustrationJavaBean.java:414)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.dcx.catl.macscompiler.ao.RemoveIllustrationAction.execute(RemoveIllustrationAction.java:219)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:446)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:266)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:948)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:530)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:201)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
[4/27/05 17:02:50:031 IST] 575ee900 SystemErr R [4/27/05 17:02:50:031 IST] 575ee900 SystemOut O SQLException: The identifier that starts with '"T3211PU,,insert into Illustr' is too long. Maximum length is 28. -
JDeveloper, JPA named query String parameter with length of 1
Hi,
I use JDeveloper 11.1.1.2.0. and have the following table:
CREATE SEQUENCE COUNTRY_SEQ;
CREATE TABLE COUNTRY (
COUNTRY_ID NUMBER NOT NULL,
COUNTRY_NAME VARCHAR2(40),
COUNTRY_CODE CHAR(2) NOT NULL,
CONSTRAINT COUNTRY_ID_PK PRIMARY KEY (COUNTRY_ID)
INSERT INTO COUNTRY VALUES (COUNTRY_SEQ.NEXTVAL, 'Belgium', 'B');
INSERT INTO COUNTRY VALUES (COUNTRY_SEQ.NEXTVAL, 'Netherlands', 'NL');
COMMIT;
I made a JPA Entity with two queries:
@NamedQueries({
@NamedQuery(name = "Country.findAll", query = "select o from Country o"),
@NamedQuery(name = "Country.findByCountryCode", query = "select o from Country o where o.countryCode = 'B' or o.countryCode ='NL'")
The first works fine, gives back both B and NL. But the second gives back only NL. I have no clue why.
If I change 'B' to 'BE' both in the DB and the code, it works. If I change to 'b', it doesn't. So it seems that the problem comes with 1 char long Strings.
Is it an EclipseLink bug?
I use Oracle Database 11g Enterprise Edition Release 11.1.0.7.0. But
SELECT COUNTRY_ID, COUNTRY_NAME, COUNTRY_CODE FROM COUNTRY WHERE COUNTRY_CODE = 'B' OR COUNTRY_CODE = 'NL';
works in SQL*Plus.
Thx, DonatHi,
That's true, it uses value bindings while the values are hard coded. I use the default EclipseLink embedded into JDeveloper 11.1.1.2, with the default settings. The JPA bean runs in the default embedded WebLogic of JDeveloper. This might be a default setting of EclipseLink to use bindings for hard coded values.
Here is a fragment of Country.java:
@Entity
@NamedQueries({
//@NamedQuery(name = "Country.findAll", query = "select o from Country o")
@NamedQuery(name = "Country.findAll", query = "select o from Country o where o.countryCode ='B' or o.countryCode ='NL'")
public class Country implements Serializable {
@Id
@Column(name="COUNTRY_ID", nullable = false)
private Long countryId;
@Column(name="COUNTRY_CODE", nullable = false)
private String countryCode;
@Column(name="COUNTRY_NAME", length = 40)
private String countryName;
And I have a JavaServiceFacade.java:
public class JavaServiceFacade {
private EntityManagerFactory emf = Persistence.createEntityManagerFactory("EjbModel-1-Outside");
public JavaServiceFacade() {
public static void main(String [] args) {
final JavaServiceFacade javaServiceFacade = new JavaServiceFacade();
List<Country> countries;
countries = javaServiceFacade.getCountryFindAll();
for (Country country : countries) {
System.out.println(country.getCountryCode());
private EntityManager getEntityManager() {
return emf.createEntityManager();
/** <code>select o from Country o</code> */
public List<Country> getCountryFindAll() {
return getEntityManager().createNamedQuery("Country.findAll").getResultList();
BR, Donat -
Hi,
does anyone know which is the maximum length allowed for a string variable in ABAP?
TbahksLook at [Predefined ABAP Types |http://help.sap.com/abapdocu_70/en/ABENBUILT_IN_TYPES_COMPLETE.htm]
The predefined data types string and xstring describe data objects of variable length (dynamic data objects). While the length of data objects in all other elementary data types is determined for their whole lifetime, the length of text and byte strings varies according to their content (the maximum size of a string is determined by [profile parameter|http://help.sap.com/abapdocu_70/en/ABENPROFILE_PARAMETER_GLOSRY.htm] ztta/max_memreq_MB, see [Maximum Size of Dynamic Data Objects|http://help.sap.com/abapdocu_70/en/ABENMEMORY_CONSUMPTION_2.htm]).
So call transaction RZ11 and input ztta/max_memreq_MB.
Regards,
Raymond -
hi Guys,
i make the application, in which lots of data record with id, whenever i clicked to the SUBMIT button, it wil forwarded to the next page.
But The problem is.....when we pass the 30 id in a query string parameter that' fine but when it is incresing it is not transfaring to the next page. how i can do this.
As per the concept EVERY BROWSER HAVING THE LIMITATION..
hope all of u help me.
saMhey all of you are saying right..!!
But you know the doPost() method having the limitation, that is
1 MB. so how can i used this method.
I know the second way....Like make the hidden control with mantain the session, but i can not use this(Client do't want this).
so please guys help me........
saM -
Hi all,
I am trying to create a URL as a receiver for a BI Query. It appears to be truncating my URL. Is there a maximum length for a URL in RRI?
The URL I'm trying to use is http://##.##.##.###/xxxxRegistryDemo/Report.jsp?r=aGFsdG9ufmhhbHRvbn5FbnRpdHkgRGV0YWls&o=
I added the # and the x's to the URL for display purposes.
Thanks,
MoragThere should not be any restrictions, the RSBBSQUERY table URL field is defined as STRING type.
-
Maximum length of field in ALV GRID Display.
Hi,
I have a requirement in a report where i have to display long text related to WBS elements and Networks whose maximum length is 640 characters. I want all the 640 characters of the text to be displayed in one single line but ALV is showing only 128 characters ( or 132 ). Does anybody know how to achieve this.
Thanks in advance.
Sharath kumar R.Hi,
have a look to foll. link
Display String in ALV List
regards Andreas -
Need to customize the variable info sent to a query string
Hello,
I have run into a small issue while trying to send user data
selected from 1 DateField and 3 ComboBoxes in a form. Everything is
sending correctly except for the DateField, when sent is places
much un-needed info in the query string.
For example, this is what I need it to look like in the query
string:
https://reservations.ihotelier.com/onescreen.cfm?LanguageID=1&HotelID=13337&DateIn=09%2F28 %2F2006&Children=1&Adults=3&Length=3
Here is what is actually showing up right now:
https://reservations.ihotelier.com/onescreen.cfm?LanguageID=1&HotelID=13337&DateIn=Thu%20S ep%2028%2000%3A00%3A00%20GMT%2D0700%202006&Children=1&Adults=3&Length=3
You'll notice that everything is fine except for the DateIn
variable. So, I guess I'm asking if anyone knows how I can
customize the data that is sent to the query string, with specific
characters (example: I don't need "%20" in the DateIn, however I
need those to be "%2F"), as well as the name of the month to be
just the month number. I need to get rid of all the time
information in the DateIn variable. Please, any help would be
greatly appreciated! Thank you in advance! :)
Here is my action script right now:The functionality of the GIS map was important. I was given the email for the person in charge of the map, who helped me out. It appeared that he was able to outline the road in the neighborhood that I needed to focus on. That provided a parcel ID, which in turn made it possible to focus in on the proper area. This is supposition on my part; perhaps he has other info that gave him the parcel ID.
I'm not a huge fan of Flash on other than desktops and laptops, but it is what it is, client needs to use it, I need to help the client out!
B -
Need Help With Java Query String
I'm new to Java and I'm passing data via a URL to another page(I'm not using a form). I have been succesfull in decoding the string to return the name value below:
<SCRIPT LANGUAGE="JavaScript">
function decodeSearchString() {
var nameValue = new Array();
var searchStr = unescape(location.search.substring(1));
if (searchStr) {
var formElement = searchStr.split("&");
var tmpArray = new Array();
for (k = 0; k < formElement.length; k++) {
tmpArray = formElement[k].split("=");
nameValue[tmpArray[0]] = tmpArray[1];
return nameValue
var srchData = decodeSearchString();
</SCRIPT>
However, now I need to add the value returned from the above srcipt to the Java script listed below:
<SCRIPT Language="Javascript" SRC="#srchData.link#?open&pID=PAR"> </SCRIPT>
This above script if working will add the HTML from the URL query to the page, but I keep getting a Java Error with this script. Please Help !I assume you are using a JSP page and not just solely doing Javascript. IF you are using JSP, then read on. Otherwise, I can revisit your script.
To obtain the value of the query string, you would use a method call such as:
String strQuery = request.getQueryString()
Or, to get a single parameter off the query string, you can call:
String strSearchData = request.getParameter("paramname");
Or, if you want all the parameters and values instead of just one long string you can call:
Enumeration enumParamNames = request.getParameterNames();
You can use the above enumeration in combination with getParameter() to get the values.
In order to build your script line and add the query string, you would then do something like this:
<SCRIPT Language="Javascript" SRC="#<%=strSearchData%>.link#?open&pID=PAR"> </SCRIPT>
Notice the <%= %> block in the above code.
I hope that is what you were looking for. Your example is somewhat confusing so I may have answered wrong.
Mike -
FLVPlayback source with query strings (parameters) doesn't load
Flash version: CS4
AS version: AS3
I'm currently trying to use the FLVPlayback component and pass a source FLV that's living on a cloudfront webserver. The problem is that the cloudfront requires authentication in the form of query strings in the source FLV. For example:
import fl.video.*;
var mainMovie:FLVPlayback = new FLVPlayback();
mainMovie.source = "http://www.somedomainname.com/firmware.flv?dummyquery=22";
trace(addChild(mainMovie));
As soon as I take away the "dummyquery", it works fine. When I add a query string, it breaks (nothing loads).
Here is the error output I get:
[object FLVPlayback]
VideoError: 1005: Invalid xml: URL: "http://www.somedomainname.com/firmware.flv?dummyquery=22&FLVPlaybackVersion=2.1" No root node found; if url is for an flv it must have .flv extension and take no parameters
at fl.video::SMILManager/http://www.adobe.com/2007/flash/flvplayback/internal::xmlLoadEventHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
It adds on "&FLVPlaybackVersion=2.1" to the end.
I saw a different article that said I should add a dummy variable at the end like "&dummy=.flv" because I was told that Flash is basically looking for an .flv extension at the end and you can trick it, but it doesn't work because they add on additional code.
Does anyone know how to work around this?Hey supervu,
I know you already found a workaround to make this work, just figured I'd post an alternative to editing the FLVPlayback compoent. I also am retrieving an FLV file via a .Net ASHX file. To keep both worlds happy, I used a URLRewriter module to translate for me... this one translates what I am using for the FLVPlayback component source:
http://domain.com/flv/22.flv to be resolved as http://domain.com/API/resource.ashx?ID=22
There is of course no flv folder in the root of my application...
Here is my very simple URLRewriter class in vb.net:
Imports Microsoft.VisualBasic
Imports System
Imports System.Web
Public Class URLRewriter
Implements IHttpModule
Public Sub Init(ByVal inst As System.Web.HttpApplication) Implements System.Web.IHttpModule.Init
AddHandler inst.BeginRequest, AddressOf Me.OnBeginRequest
End Sub
Public Sub OnBeginRequest(ByVal app As Object, ByVal e As EventArgs)
Dim inst As HttpApplication = CType(app, HttpApplication)
Dim req_path As String = inst.Context.Request.Path
Dim trans_path As String = ""
Dim search As String = "/flv/"
Dim pos As Integer = req_path.IndexOf("/flv/")
If pos > -1 Then
Dim key as string = req_path.Substring(pos + search.Length, (req_path.LastIndexOf(".flv") - (pos + search.Length)))
HttpContext.Current.Response.Redirect("~/API/resource.ashx?ID=" & key )
End If
End Sub
Public Sub Dispose() Implements System.Web.IHttpModule.Dispose
End Sub
End Class
and make sure you add this to your web.config.. this will cause URLRewriter to intercept all HTTP requests, and redirect as needed.
<system.web>
<httpModules>
<add name="URLRewriter" type="[Namespace].URLRewriter"/>
</httpModules>
</system.web>
Hope this helps someone. -
Lax validation errors on schema import ('version' exceeds maximum length)
I have a schema as per below. I'm trying to import it into Oracle 10.2.0.2.0. However, I'm getting the following lax validation error:
Error loading ora_business_rule.xsd:ORA-30951: Element or attribute at Xpath /schema[@version] exceeds maximum length
I can fix it by modifying the attribute and shortening it but I'd like to know why it's occuring. Insofar as I can tell there is no imposed limit on the size of schema attributes according to the W3C standard. Which then makes me wonder: does Oracle impose limits on the length of all attributes or is this specific to 'version' ? If there is a limit, what is the upper bound (in bytes) ? Where is this documented?
Cheers,
Daniel
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:br="http://foo.com/BusinessRule_PSG_V001" targetNamespace="http://foo.com/BusinessRule_PSG_V001" elementFormDefault="qualified" attributeFormDefault="unqualified" version="last committed on $LastChangedDate: 2006-05-19 11:00:52 +1000 (Fri, 19 May 2006) $">
<xs:element name="edit">
<xs:complexType>
<xs:sequence>
<xs:element name="edit_id" type="xs:string"/>
<xs:element ref="br:business_rule"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="derivation">
<xs:complexType>
<xs:sequence>
<xs:element name="derivation_id" type="xs:string"/>
<xs:element ref="br:derivation_type"/>
<xs:element ref="br:business_rule"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="derivation_type">
<xs:simpleType>
<xs:restriction base="xs:NMTOKENS">
<xs:enumeration value="complex"/>
<xs:enumeration value="format"/>
<xs:enumeration value="formula"/>
<xs:enumeration value="recode"/>
<xs:enumeration value="SAS code"/>
<xs:enumeration value="transfer"/>
<xs:enumeration value="count"/>
<xs:enumeration value="sum"/>
<xs:enumeration value="max"/>
<xs:enumeration value="min"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="business_rule"></xs:element>
</xs:schema>Opps -- Sorry it's a decision we took when looking at Version
When we registered the Schema for Schemas during XDB bootstrap the Version attriubte was mapped to varchar2(12).
SQL> desc xdb.xdb$schema_T
Name Null? Type
SCHEMA_URL VARCHAR2(700)
TARGET_NAMESPACE VARCHAR2(2000)
VERSION VARCHAR2(12)
NUM_PROPS NUMBER(38)
FINAL_DEFAULT XDB.XDB$DERIVATIONCHOICE
BLOCK_DEFAULT XDB.XDB$DERIVATIONCHOICE
ELEMENT_FORM_DFLT XDB.XDB$FORMCHOICE
ATTRIBUTE_FORM_DFLT XDB.XDB$FORMCHOICE
ELEMENTS XDB.XDB$XMLTYPE_REF_LIST_T
SIMPLE_TYPE XDB.XDB$XMLTYPE_REF_LIST_T
COMPLEX_TYPES XDB.XDB$XMLTYPE_REF_LIST_T
ATTRIBUTES XDB.XDB$XMLTYPE_REF_LIST_T
IMPORTS XDB.XDB$IMPORT_LIST_T
INCLUDES XDB.XDB$INCLUDE_LIST_T
FLAGS RAW(4)
SYS_XDBPD$ XDB.XDB$RAW_LIST_T
ANNOTATIONS XDB.XDB$ANNOTATION_LIST_T
MAP_TO_NCHAR RAW(1)
MAP_TO_LOB RAW(1)
GROUPS XDB.XDB$XMLTYPE_REF_LIST_T
ATTRGROUPS XDB.XDB$XMLTYPE_REF_LIST_T
ID VARCHAR2(256)
VARRAY_AS_TAB RAW(1)
SCHEMA_OWNER VARCHAR2(30)
NOTATIONS XDB.XDB$NOTATION_LIST_T
LANG VARCHAR2(4000)
SQL> -
SQL Loader - Field in data file exceeds maximum length
Dear All,
I have a file which has more than 4000 characters in a field and I wish to load the data in a table with field length = 4000. but I receive error as
Field in data file exceeds maximum lengthThe below given are the scripts and ctl file
Table creation script:
CREATE TABLE "TEST_TAB"
"STR" VARCHAR2(4000 BYTE),
"STR2" VARCHAR2(4000 BYTE),
"STR3" VARCHAR2(4000 BYTE)
);Control file:
LOAD DATA
INFILE 'C:\table_export.txt'
APPEND INTO TABLE TEST_TAB
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
( STR CHAR(4000) "SUBSTR(:STR,1,4000)" ,
STR2 CHAR(4000) "SUBSTR(:STR2,1,4000)" ,
STR3 CHAR(4000) "SUBSTR(:STR3,1,4000)"
)Log:
SQL*Loader: Release 10.2.0.1.0 - Production on Mon Jul 26 16:06:25 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: C:\TEST_TAB.CTL
Data File: C:\table_export.txt
Bad File: C:\TEST_TAB.BAD
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 0
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table TEST_TAB, loaded from every logical record.
Insert option in effect for this table: APPEND
TRAILING NULLCOLS option in effect
Column Name Position Len Term Encl Datatype
STR FIRST 4000 | CHARACTER
SQL string for column : "SUBSTR(:STR,1,4000)"
STR2 NEXT 4000 | CHARACTER
SQL string for column : "SUBSTR(:STR2,1,4000)"
STR3 NEXT 4000 | CHARACTER
SQL string for column : "SUBSTR(:STR3,1,4000)"
value used for ROWS parameter changed from 64 to 21
Record 1: Rejected - Error on table TEST_TAB, column STR.
Field in data file exceeds maximum length
MAXIMUM ERROR COUNT EXCEEDED - Above statistics reflect partial run.
Table TEST_TAB:
0 Rows successfully loaded.
1 Row not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array: 252126 bytes(21 rows)
Read buffer bytes: 1048576
Total logical records skipped: 0
Total logical records read: 1
Total logical records rejected: 1
Total logical records discarded: 0
Run began on Mon Jul 26 16:06:25 2010
Run ended on Mon Jul 26 16:06:25 2010
Elapsed time was: 00:00:00.22
CPU time was: 00:00:00.15Please suggest a way to get it done.
Thanks for reading the post!
*009*Hi Toni,
Thanks for the reply.
Do you mean this?
CREATE TABLE "TEST"."TEST_TAB"
"STR" VARCHAR2(4001),
"STR2" VARCHAR2(4001),
"STR3" VARCHAR2(4001)
);However this does not work as the error would be:
Error at Command Line:8 Column:20
Error report:
SQL Error: ORA-00910: specified length too long for its datatype
00910. 00000 - "specified length too long for its datatype"
*Cause: for datatypes CHAR and RAW, the length specified was > 2000;
otherwise, the length specified was > 4000.
*Action: use a shorter length or switch to a datatype permitting a
longer length such as a VARCHAR2, LONG CHAR, or LONG RAW*009*
Edited by: 009 on Jul 28, 2010 6:15 AM -
Field in data file exceeds maximum length - CTL file error
Hi,
I am loading data in new system using CTL file. But I am getting error as 'Field in data file exceeds maximum length' for few records, other records are processed successfully. I have checked the length of the error record in the extract file, it is less than the length in the target table, VARCHAR2 (2000 Byte). Below is the example of error data,
Hi Rebecca~I have just spoken to our finance department and they have agreed that the ABCs payments made can be allocated to the overdue invoices, can you send any future invoices direct to me so that I can get them paid on time.~Hope this is ok ~Thanks~Terry~
Is this error caused because of the special characters in the string?
Below is the ctl file I am using,
OPTIONS (SKIP=2)
LOAD DATA
CHARACTERSET WE8ISO8859P1
INFILE '$FILE'
APPEND
INTO TABLE "XXDM_DM_17_ONACCOUNT_REC_SRC"
WHEN (1)!= 'FOOTER='
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS (
<Column_name>,
<Column_name>,
COMMENTS,
<Column_name>,
<Column_name>
Thanks in advance,
AdityaHi,
I suspect this is because of the built in default length of character datatypes in sqldr - it defaults to char(255) taking no notice of what the actual table definition is.
Try adding CHAR(2000), to your controlfile so you end up with something like this:
OPTIONS (SKIP=2)
LOAD DATA
CHARACTERSET WE8ISO8859P1
INFILE '$FILE'
APPEND
INTO TABLE "XXDM_DM_17_ONACCOUNT_REC_SRC"
WHEN (1)!= 'FOOTER='
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS (
<Column_name>,
<Column_name>,
COMMENTS CHAR(2000),
<Column_name>,
<Column_name>
Cheers,
Harry
Maybe you are looking for
-
Repeated iMac Problems, Display Issues now Kernel Panics
I’m lost on what’s wrong with my 2008 iMac and I think I just have to bring it back into Apple for a third time to have it repaired. But something is obviously not working that is causing these issues. About a month ago, my computer began showing hea
-
Test touch events in SWF file?
I'm sure this is one of those "Oh, press this button in Preferences" type of questions, but I have googled to no avail which makes me think I'm either missing something so simple no one has even bothered saying it or I'm asking the wrong question. I
-
How can I keep the 4.3 frame in Imovie 10
How can I keep the old movie frame 4.3, in Imovie 10.
-
Sorry not for sure how to reference the topic that I have a question on. Here is the problem: I have pic of my pet that I love and it shows up on my origianl Pic log, my events page, in a couple of folders that I have put it in, my mobile me gallery,
-
Could not load the Multiprocessor Support module because it wont work with
Here is a strange error message, there are actually 2. But they arent making PSE 8 unusable, just very annoying. Here is the first one,,,,,,,,, "Could not load the Multiprocessor Support module because it wont work with this version of photoshop." Wh