Passing string with a colon in it via a url
I have a shuttle item I want to populate with data from field on a report, via a hyper link. The url only passes the first value to the item, despite the whole string appearing in the url. I believe it is due to the colon delimiter in the field. I ahve tried using both url encoding alternatives, but neither worked. Any suggestions?
I found a workaround. I replaced the colon with a "~" and then replace the ~ with a colon with a before header process. I am still interested if there exists a way to do this with out shenagans.
Edited by: greich on Apr 23, 2010 2:25 PM
I had exactly the same issue. The way I resolved it was,
On my select statement, I created a new hidden column which was just a replace(string,':',';') so replacing the : with a ;
Then in my link referenced this new column.
Then on the target page, create a before header process which did the reverse replace on the item, replace(:item,';',':')
Worked a treat, and in my view not overly complicated.
Similar Messages
-
How can i pass string from C++ DLL to Java via JNI?
Hi everybody. I made a DLL with Borland C++. I must pass a string from this dll to Java via JNI.Namely i define a string variable in C++ DLL and i send this variable's value to Java via JNI.
I can pass integers but i couldnt Strings. . How can i do this? is there any sample?Hi,
So your function should be private static native String get_text();
(It's often a good idea to make native methods private since when you change signatures you generally have to change java wrapper methods only).
I know nothing about C++ strings but I'm pretty sure that you can convert it to char*, so
do :
char* szMyString = myString.toChar*();
Then return from native with JNU_NewStringPlatform(env, szMyString)
(see my 1st answer for JNU_NewStringPlatform() description).
--Marc (http://jnative.sf.net) -
Can I Pass String with Spaces in it To exec()
Hello All,
I am passing a Command in Runtime.exec() method, which is a String and contains a folder name(Folder---Name) which is having Spaces in it. For eg. c:/Folder/Folder(Spaces in between)Name/Data.java
My Problem is when i pass it to exec() it automatically gets converted to a Folder name with only one space
E.g c:/Folder/Folder(One Space in between)Name/Data.java,
Because of which my command is not able to find the Folder specifed.
I want the Original Path(c:/Folder/Folder(Spaces in between)Name/Data.java) to be passed and executed through
exec() so that the command runs successfully..........
Any help will be highly appreciable..
Thanks
Er.AtulWhen I make a simple array of String a, Try to run simple command like "change Directory"....
*try {*+
String[] a = {"cd atul", "cd poc"};+
Runtime runtime = Runtime.getRuntime();+
Process procedure = runtime.exec(a);+
+*} catch (IOException ex) {*+
Logger.getLogger(Testing.class.getName()).log(Level.SEVERE, null, ex);+
It Gives me this type of Exception............
Feb 20, 2009 5:13:36 PM Testing <init>
SEVERE: null
java.io.IOException: Cannot run program "cd atul": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
at Testing.<init>(Testing.java:26)
at Testing.main(Testing.java:36)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
*... 4 more* -
Problem with Collaboration and Portal accessed via multiple URLs
Here is the scenario. We have the portal installed that can be accessed from an external domain: portal.company.com. We recently upgraded to WCI 10gR3 and in the process we added an internal server that uses an OAM webgate which handles Integrated Windows Authentication. The URL for out internal access is portal.company.int. The problem comes when we try to access collaboration folders. From our internal URL when we click on a folder in Collab Documents the loading... text come sup and that's it. No other activity in the browser or in PTSpy. If we use the external URL there is no issue.
Anyone have any ideas on how we can get around this or what the cause could be?try to play with the collaboration server url (for the Collaboration Remote Server )
http://yourserver.com:11930/collab/
Enter the external url here, or better the name of the machine, something like
http://<machinename><yourdomain>:11930/collab/
See if works.
Hope that helps!
Val -
I know this is a basic question, however, how do i change my pass word on itunes to stop my kids from automatically buying tunes from the I store... as my card details are already saved they just log in with their ipods and download via my account
http://support.apple.com/kb/HE36
Regards. -
Problem with prepared statement where cluase when passing string value.Help
I am updating a table using the following code. I am using string parameter in where clause. if I use Long parameter in where clause with ps.setLong , this code is working. Is there any special way to pass string value? Am I doing anything wrong?
===================
updateMPSQL.append("UPDATE MP_Table SET ");
updateMPSQL.append("MPRqmt = ?,End_Dt = ? ");
updateMPSQL.append("where POS = ? ");
System.out.println(updateMPSQL.toString());
con = getConnection(false) ;
ps = con.prepareStatement(updateMPSQL.toString());
ps.setLong(1,MPB.getMPRqmt());
ps.setDate(2,MPB.getEnd_Dt());
ps.setString(3,MPB.getPos());
result = ps.execute();
System.out.println("Result : " + result);
==========
Please help me.
Thanks in advance.
Regards,
Sekhardoesn't Pos look like a number rather than a string variable?
if I use Long
parameter in where clause with ps.setLong , this code
is working.
updateMPSQL.append("where POS = ? ");
ps.setString(3,MPB.getPos()); -
Pass String[] (String Array) type to a parameter in "Edit Action Binding"
Hi
Hope you are doing fine. This is very important to me, kindly help me in this regad.
I have a scenario where I need to pass in a parameter of type String[] that has only one value {"Name"} to a webservice that returns some values.
I've created a WS datacontrol, dragged and dropped the return value on to a jspx, then it asks me to give the input value
How do I pass it to the Parameter in "Edit Action Binding"?
When I say new String[]{"Name"}, it gives me the following error
Cannot create an object of type:[Ljava.lang.String; from type:java.lang.String with value:new String[]{"Name"}
Similarly, I hardcoded this value in a managedBean, added it to requestScope/applicationScope and queried it using #{applicationScope.AppCreationBean.epsName}
But this time, it says, the value is null. I guess the value is not getting initialized properly. But if i hardcode the value in the getter method, I'm again getting the error as above.
Would some one tell me how to pass an array of type String (ie, String[]) with a value "Name" in the "Edit Action Binding" wizard itself?
Regards
RaviKiranHi Frank
Thanks for the reply.
Issue resolved by initializing it in the ManagedBean.
For some reason, when I put it in request/application scopes, it was coming as null, but when I registered the Bean in PageFlowScope, it was working!
Regards
RaviKiran -
String with embedded single quote
Hi, all. We're trying to pass a string from one procedure to another, which will then do an EXECUTE IMMEDIATE on it. However, there are single quotes withing the string, and they're driving us nuts! This is what the concatenated string should look like when passed to the pw_execDDL procedure:
insert into appimmunization.wsrprfs (inoc_id, proof, is_valid,proof_num) values ('MEAG', to_date('02-OCT-05','DD-MMM-YY'), 'Y',1);
Here's the concatenation process that doesn't work, and there are functions being called within the string:
chr_sql := 'insert into appimmunization.wsrprfs (inoc_id, proof, is_valid,proof_num) values (' || '''' || prm_inoc_id || '''' || ', ' || 'to_date(' || '''' || prm_proof1 || ''''||','||'''' ||'DD-MMM-YY'||''''||')' || ', ' || '''' || fw_is_proof_valid(prm_birth_date, prm_proof1) || '''' || ',1);';
pw_execDDL(chr_sql); /* call the procedure to do the EXECUTE IMMEDIATE */
Help! We've tried every combination -- using two single quotes together, three, and four, and still no luck. Thanks.insert into appimmunization.wsrprfs (inoc_id, proof,
is_valid,proof_num) values ('MEAG',
to_date('02-OCT-05','DD-MMM-YY'), 'Y',1);
This statement can be made in a string with the following affectation:
chr_sql := 'insert into appimmunization.wsrprfs (inoc_id, proof, is_valid,proof_num) values (''MEAG'', to_date(''02-OCT-05'',''DD-MMM-YY''), ''Y'',1)';
Note please that each single quote in your original string must be specified using two single quotes and that is all. It is more readable and more easy to do it this way.
Michel. -
Passing String Which Has Single Quote Row/Value to a Function Returns Double Quoate
Hi, I'm getting weird thing in resultset. When I pass String which has single quote value in it to a split function , it returns rows with double quote.
For example following string:
'N gage, Wash 'n Curl,Murray's, Don't-B-Bald
Returns:
''N gage, Wash ''n Curl,Murray''s, Don''t-B-Bald
Here is the split function:
CREATE Function [dbo].[fnSplit] (
@List varchar(8000),
@Delimiter char(1)
Returns @Temp1 Table (
ItemId int Identity(1, 1) NOT NULL PRIMARY KEY ,
Item varchar(8000) NULL
As
Begin
Declare @item varchar(4000),
@iPos int
Set @Delimiter = ISNULL(@Delimiter, ';' )
Set @List = RTrim(LTrim(@List))
-- check for final delimiter
If Right( @List, 1 ) <> @Delimiter -- append final delimiter
Select @List = @List + @Delimiter -- get position of first element
Select @iPos = Charindex( @Delimiter, @List, 1 )
While @iPos > 0
Begin
-- get item
Select @item = LTrim( RTrim( Substring( @List, 1, @iPos -1 ) ) )
If @@ERROR <> 0 Break -- remove item form list
Select @List = Substring( @List, @iPos + 1, Len(@List) - @iPos + 1 )
If @@ERROR <> 0 Break -- insert item
Insert @Temp1 Values( @item ) If @@ERROR <> 0 Break
-- get position pf next item
Select @iPos = Charindex( @Delimiter, @List, 1 )
If @@ERROR <> 0 Break
End
Return
End
FYI: I'm getting @List value from a table and passing it as a string to split function.
Any help would be appreciated!
ZKfixed the issue by using Replace function like
Replace(value,'''''','''')
Big Thanks Patrick Hurst!!!!! :)
Though I came to another issue which I posted here:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/a26469cc-f7f7-4fb1-ac1b-b3e9769c6f3c/split-function-unable-to-parse-string-correctly?forum=transactsql
ZK -
Stepping through a query result set, replacing one string with another.
I want to write a function that replaces the occurance of a string with another different string. I need it to be a CF fuction that is callable from another CF function. I want to "hand" this function an SQL statement (a string) like this: (Please note, don't bother commenting that "there are eaiser ways to write this SQL..., I've made this simple example to get to the point where I need help. I have to use a "sub_optimal" SQL syntax just to demonstrate the situation)
Here is the string I want to pass to the function:
SELECT
[VERYLONGTABLENAME].FIRST_NAME,
[VERYLONGTABLENAME].LAST_NAME,
[VERYLONGTABLENAME].ADDRESSS
FROM
LONGTABLENAME [VERYLONGTABLENAME]
Here is the contents of the ABRV table:
TBL_NM, ABRV <!--- Header row--->
VERYLONGTABLENAME, VLTN
SOMEWHATLONGTALBENAME, SLTN
MYTABLENAME, MTN
ATABLENAME, ATN
The function will return the original string, but with the abreviations in place of the long table names, example:
SELECT
VLTN.FIRST_NAME,
VLTN.LAST_NAME,
VLTN.ADDRESSS
FROM
LONGTABLENAME VLTN
Notice that only the table names surrounded by brackets and that match a value in the ABRV table have been replaced. The LONGTABLENAME immediately following the FROM is left as is.
Now, here is my dum amatuer attempt at writing said function: Please look at the comment lines for where I need help.
<cffunction name="AbrvTblNms" output="false" access="remote" returntype="string" >
<cfargument name="txt" type="string" required="true" />
<cfset var qAbrvs=""> <!--- variable to hold the query results --->
<cfset var output_str="#txt#"> <!--- I'm creating a local variable so I can manipulate the data handed in by the TXT parameter. Is this necessary or can I just use the txt parameter? --->
<cfquery name="qAbrvs" datasource="cfBAA_odbc" result="rsltAbrvs">
SELECT TBL_NM, ABRV FROM BAA_TBL_ABRV ORDER BY 1
</cfquery>
<!--- I'm assuming that at this point the query has run and there are records in the result set --->
<cfloop index="idx_str" list="#qAbrvs#"> <!--- Is this correct? I think not. --->
<cfset output_str = Replace(output_str, "#idx_str#", ) <!--- Is this correct? I think not. --->
</cfloop> <!--- What am I looping on? What is the index? How do I do the string replacement? --->
<!--- The chunck below is a parital listing from my Delphi Object Pascal function that does the same thing
I need to know how to write this part in CF9
while not Eof do
begin
s := StringReplace(s, '[' +FieldByName('TBL_NM').AsString + ']', FieldByName('ABRV').AsString, [rfReplaceAll]);
Next;
end;
--->
<cfreturn output_txt>
</cffunction>
I'm mainly struggling with syntax here. I know what I want to happen, I know how to make it happen in another programming language, just not CF9. Thanks for any help you can provide.RedOctober57 wrote:...
Thanks for any help you can provide.
One:
<cfset var output_str="#txt#"> <!--- I'm creating a local
variable so I can manipulate the data handed in by the TXT parameter.
Is this necessary or can I just use the txt parameter? --->
No you do not need to create a local variable that is a copy of the arguments variable as the arguments scope is already local to the function, but you do not properly reference the arguments scope, so you leave yourself open to using a 'txt' variable in another scope. Thus the better practice would be to reference "arguments.txt" where you need to.
Two:
I know what I want to happen, I know how to make it happen in another programming language, just not CF9.
Then a better start would be to descirbe what you want to happen and give a simple example in the other programming language. Most of us are muti-lingual and can parse out clear and clean code in just about any syntax.
Three:
<cfloop index="idx_str" list="#qAbrvs#"> <!--- Is this correct? I think not. --->
I think you want to be looping over your "qAbrvs" record set returned by your earlier query, maybe.
<cfloop query="qAbrvs">
Four:
<cfset output_str = Replace(output_str, "#idx_str#", ) <!--- Is this correct? I think not. --->
Continuing on that assumption I would guess you want to replace each instance of the long string with the short string form that record set.
<cfset output_str = Replace(output_str,qAbrs.TBLNM,qAbrs.ABRV,"ALL")>
Five:
</cfloop> <!--- What am I looping on? What is the index? How do I do the string replacement? --->
If this is true, then you are looping over the record set of tablenames and abreviations that you want to replace in the string. -
Why passing string from applet to jsp doesn't work?
Hi,all:
I have a application requires applet to get client side info, then pass this "info"--string to the JSP.
Applet code:
try{
URL url = new URL(getCodeBase(),"test.jsp?
java.version=1.2.2&java.vendor=Sun);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Content-Type", "application/octet-stream");
conn.connect();
} catch (Exception e) {
System.out.println("The error is at URL:"+e.getMessage());
My jsp code is:
<%
String java_version=request.getParameter("java.version");
String java_vendor=request.getParameter("java.vendor");
%>
However, it doesn't work. Could anybody help me figure out?
Thanks in advance.
PaulRequest Jsp with
test.jsp?URLEncoder.encode("java.version")=URLEncoder.encode("java.version.value")&URLEncoder.encode("java.vendor")=
URLEncoder.encode("java.vendor.value") -
Can I encrypt a string with RSA encryption using DBMS_CRYPTO?
We have an web application that does a redirect thru a database package to a 3rd party site. They would like us to encrypt the querystring that is passed using RSA encryption. The example that they've given us (below) uses the RSA cryptographic service available in .NET. Is it possible to do this using DBMS_CRYPTO or some other method in Oracle?
Below are the steps outlined to use the key to generate the encrypted URL
2.1 Initialize Service
The RSA cryptographic service must be initialized with the provided public key. Below is sample code that can be used to initialize the service using the public key
C#
private void InitializeRSA( string keyFileName )
CspParameters cspParams = new CspParameters( );
cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
m_sp = new RSACryptoServiceProvider( cspParams );
//Load the public key from the supplied XML file
StreamReader reader = new StreamReader( keyFileName );
string data = reader.ReadToEnd( );
//Initializes the public key
m_sp.FromXmlString( data );
2.2 Encryption method
Create a method that will encrypt a string using the cryptographic service that was initialized in step 2.1. The encryption method should convert the encryption method to Base64 to avoid special characters from being passed in the URL. Below is sample code that uses the method created in step 2.1 that can be used to encrypt a string.
C#
private string RSAEncrypt( string plainText )
ASCIIEncoding enc = new ASCIIEncoding( );
int numOfChars = enc.GetByteCount( plainText );
byte[ ] tempArray = enc.GetBytes( plainText );
byte[ ] result = m_sp.Encrypt( tempArray, false );
//Use Base64 encoding since the encrypted string will be used in an URL
return Convert.ToBase64String( result );
2.3 Generate URL
The query string must contain the necessary data elements configured for you school in Step 1. This will always include the Client Number and the Student ID of the student clicking on the link.
1. Build the query string with Client Number and Student ID
C#
string queryString = “schoolId=1234&studentId=1234”;
The StudentCenter website will validate that the query string was generated within 3 minutes of the request being received on our server. A time stamp in UTC universal time (to prevent time zone inconsistencies) will need to be attached to the query string.
2. Get the current UTC timestamp, and add the timestamp to the query string
C#
string dateTime = DateTime.UtcNow.ToString(“yyyy-MM-dd HH:mm:ss”);
queryString += “¤tDT=” + dateTime;
Now that the query string has all of the necessary parameters, use the RSAEncrypt (Step 2.2) method created early to encrypt the string. The encrypted string must also be url encoded to escape any special characters.
3. Encrypt and Url Encode the query string
C#
string rsa = RSAEncrypt(querystring);
string eqs = Server.UrlEncode(rsa);
The encrypted query string is now appended to the Url (https://studentcenter.uhcsr.com), and is now ready for navigation.
4. Build the URL
C#
string url = “https://studentcenter.uhcsr.com/custom.aspx?eqs=” + eqsThe documentation lists all the encyrption types:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_crypto.htm#ARPLS664 -
Failure using {CALL } syntax & passing string params w/ # (hash)
We are experiencing a problem calling functions using the {CALL } syntax and passing string parameters that contain # (hash) symbols. Apparently, something interprets the # inside the string literal and fails the call.
We use this syntax with procedure calls from a Java applet to an Oracle 8i database using the 8.1.6.2.0 ODBC Oracle driver. The applet is running under the Java 1.3.1 plug-in and we are using a third party JDBC, type III, driver from JDataConnect to link the applet to the Oracle ODBC driver.
Any insight on this would be greatly appreciated.What's the result of con.getAutoCommit()?
You might try con.setAutoCommit(true) to see if that sorts it.
/k1 -
Pass parameter with blank space for report ver 6
Hi,
I face a problem that i willing to pass the acno where it's value with blank space, for example ' 9' as parameter into my report, and assign it as v_acno. Inside the report query i add a where condition, acno >= :v_acno. When i run the report and pass acno without ' , it do not show any record. But when i run the report and pass acno with ' then able to show the records.
for example the value i key in
with ' = ' 9'
without ' = 9
So how i can solve it by pass the acno without ' but the record still able to show?
thks
Message was edited by:
user569740
Message was edited by:
user569740Hi Nick,
It occurs because an argument of the DTExec commands must be enclosed in quotation marks if it contains a space. From the dtexe (SSIS Tool): Syntax Rules section of the
dtexec Utility (SSIS Tool) document, we can see:
All options must start with a slash (/) or a minus sign (-). The options that are shown here start with a slash (/), but the minus sign (-) can be substituted.
An argument must be enclosed in quotation marks if it contains a space. If the argument is not enclosed in quotation marks, the argument cannot contain white space.
Doubled quotation marks within quoted strings represent escaped single quotation marks.
Options and arguments are not case-sensitive, except for passwords.
So, you need to make the value of the variable @QUERY_STRING within double quotes in the value of the variable @Cmd or remove the space within the @QUERY_STRING value.
Regards,
Mike Yin
TechNet Community Support -
Pass parameter with apostrophe
Hi,
How I can pass parameter with apostrophe to a store procedure.Whats the change i need to make to ' when i am passing.
Thanks in advance.
PramodIf you are using bind variables, the string should be escaped automatically. If you are not using bind variables, you should be using bind variables.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC
Maybe you are looking for
-
I turned off icloud on my calendar and it deleted my entire calendar. I did this because I wanted to add a sport site to auto add my daughters hockey schedule. For some reason it was not accepting this URL? Is there a way of getting my calendar ba
-
Today is the saddest day in my life. My Barton 3000+ processor has died on me yesterday night when I was trying to overclock it. This is what I did: 1) I set the multi at 11 and raised the FSB to 200MHz, saved settings and exit. --System didn't p
-
Error "Invalid SSL message, peer seems to be talking plain" receiver SOAP
Hello All, I have configured the AXIS as the receiver adapter, and sending an invoice over HTTPS protocol. The Call is a synchronous process where I get a response back from the service provider. Getting the error message as below, the authentication
-
Version o region from SAP B1 for implement a company in Jamaica Country
Dear friends I just want to know if somebody can advise me about what version of SAP o region is the correcto o sugest to implement a company in Jamaica Contry. I appreciate your extended coments thanks since now
-
WARNING! MEMOREX DVD-R keeps ejecting/won't mount
Ok..so I have an eMac (2004) SuperDrive PIONEER DVD-RW DVR-107D CDs & DVDs with data AND DVDs burned for DVD players DO MOUNT. Then a DVD from Netflix loaded..so everything seems to work except DVDs burned to MEMOREX DVD-R. A friend converted VHS stu