Classes (1)  /  ColdFusion (14)  /  ColdFusion Jobs (2)  /  General (7)  /  JQuery (7)  /  Quick and Dirty (3)  / 
Search Blog

 

Archives
RSS

 

 

 

Adobe Community Expert in ColdFusion

 

Adobe Ceritfied Instructor

 

CTT+ Certified Technical Trainer

 

Hosted By:

Alurium Hosting

Powered by BlogCFM v1.14

04 September 2014

Enabling AES 256 Encryption in ColdFusion 9

This entry has no text.
Share |
Posted by admin at 10:55 AM| Link  |  0 comments |

 

04 September 2012

ColdFusion 10 Upgrade Released

There's an update for ColdFusion 10. It fixes the following issues: Some of the important bugs fixed in this update are
  • Missing CGI.Redirect_* variables (CGI.Redirect_URL)
  • The value of CGI.path_info is an empty string when URL rewrite condition uses {PATH_INFO} in IIS.
  • ORM 2nd level cache does not function when application is restarted after timeout.
  • ExpandPath for custom tags is very slow
  • Can't create recurring scheduled tasks in the Standard Edition.

Details are here: http://helpx.adobe.com/coldfusion/kb/coldfusion10-update-01.html

Share |
Posted by admin at 6:32 AM| Link  |  0 comments |

 

15 May 2012

ColdFusion 10 is Released

http://www.adobe.com/products/coldfusion-family.h
Share |
Posted by admin at 6:03 AM| Link  |  0 comments |

 

19 April 2012

Error Executing Database Query. [Macromedia][SQLServer JDBCDriver][SQLServer]Could not find prepared statement with handle 0

Simple solution to a weird problem

Here's a quick one. Yesterday I was trying to get a site up and running locally, lots of code in Coldspring. When I ran the site for the first time one of the queries errored out. I corrected the query and re ran and got the following error: Error Executing Database Query. [Macromedia][SQLServer JDBCDriver][SQLServer]Could not find prepared statement with handle 0

I went around and around with different blogs suggesting that it's a driver issue and various other things.. However I found a very simple solution:

Go into the ColdFusion Administrator and find the datasource for the query that's causing the error, open up the advanced settings and turn off "Maintain Connections Across Multiple Requests"and click the submit button. Immdiatly go back into the same datasource and turn this setting back on.

Problem Solved.

Share |
Posted by admin at 8:42 AM| Link  |  0 comments |

 

13 December 2011

Why is there an Amazon Wish list button on my blog?

The short answer is "because I can" :)

The long answer is this: If you've found something usefull on my blog, feel free to hit the wish list link.
I don't ask for donations or payment. Alot of what you'll see here are things that I've run into as a developer, that I feel are worth passing along..

Share |
Posted by admin at 12:00 PM| Link  |  0 comments |

 

Security Hotfix Available for ColdFusion 8 & 9

Released today
Released today, this has a "recommended" status from Adobe
http://www.adobe.com/support/security/bulletins/apsb11-29.html
Share |
Posted by admin at 11:54 AM| Link  |  0 comments |

 

21 November 2011

Twister -It's not just a game anymore

The next version of ColdFusion Builder is code named "Twister"

 

Hemant Khandelwal, part of the CF Builder team posted this to the CF Builder blog: Code Name: Twister

If there's a pet bug that you'd like to see fixed, post it here

Share |
Posted by admin at 5:29 AM| Link  |  0 comments |

 

09 November 2011

BitAnd

a different way to alternate
We've all found a billion ways to achieve some kind of alternating event in our websites, whether it's alternating row colors, content or a myriad of other things..

In the ColdFusion world we use the CF Mod() function alot.. but did you know how much overhead it actually creates? For each iteration it must divide the numbers in question and look at the remainder. Based on that remainder the Mod is either odd or even...

but..

I stumbled on to a better way, ColdFusion has a function called BitAnd(), instead of dividing numbers this works at the bit level and it's substantially faster:

Ben Nadel does a great overview here: http://www.bennadel.com/blog/668-Using-BitAnd-To-Determine-Odd-Even-Rows-Thanks-Tony-Petruzzi-.htm.

I've found a significant performance increase, especially with large data outputs needing alternating something..

Share |
Posted by admin at 10:18 AM| Link  |  0 comments |

 

25 July 2011

Restoring .Net Connectivity in CF 9.01

...DotNet Side does not seem to be running

It's been a while since I've posted anything.. I'm in the process of rebuilding this blog backend and patching some security holes. But I ran into something important that needs to be shared.

I ran into an issue with the ColdFusion 9.01 Upgrade and .Net connectivity..

The Issue:

To be brief, when you upgrade, it breaks .Net connectivity.

What I did:

I installed the 9.01 Upgrade, all seemed well, all of the proper services were running, until I made a call to a .Net assembly..

"Ensure that the DotNet agent is running and you have provided the correct  host and port information
DotNet Side does not seem to be running. ".

Obviously this is not good..

The solution:

there are two parts to the solution

When you upgrade to 9.01 it doesn't upgrade the .Net Connector, it's a separate download (note: make sure you choose the 9.01 Installer) but this is only part of the solution. In some cases, namely mine, The install doesn't sync the port numbers correctly in “C:\ColdFusion9\jnbridge\JNBDotNetSide.exe.config and neo-dotnet.xml. The port assignments in these files must be identical as shown in this article: How to resolve error “DotNet Side does not seem to be running” with Coldfusion 901 on Windows . Once youve cleaned these files up.. restart the box.

Share |
Posted by admin at 12:12 PM| Link  |  0 comments |

 

18 June 2010

Complex Queries in ColdFusion ORM

compound wheres and aggregate functions

 

I was asked a question by one of my students in the Advanced ColdFusion 9 class, the other day.
"How does ColdFusion ORM handle things like compound where clauses and aggregate functions".

We need to start out by defining what each is:

A"compound where clause" is a where clause with multiple elements

SELECT *
FROM tbl_table
WHERE (a=b) and (c=d) orx=y
In this case a=b and c=d must be true, otherwise x=y.

An aggregate function is a calculation that is made on several records or cells of data. SUM, AVG, MAX, MIN and COUNT are examples of aggregate functions that are used in spreadsheets and database programs.

A where clause with an "and" is done pretty easily:

<cfset orderDetail = EntityLoad('orderdetails', {OrderID=100,
ProductID=1}, true)>
where orderdetails is the "table" (a mapped persistant CFC) and the "where" clause is {OrderID=100, ProductID=1}.

If we need to do anything more complex than this then we need to use Hibernate's HQL query language.

from Adobe "ColdFusion lets you use HQL (Hibernate Query Language) to run queries directly on the database. If you are familiar with HQL, you can use it for running complex queries.

In general, use HQL in the following scenarios:

  • The query is not specific to a particular object but only to some fields in the object.
  • To retrieve some fields of the object without loading the object.
  • When you use table joins.
  • When you use aggregate functions like min, max, avg, and count.
  • To retrieve entities by specifying a filter that needs to use operators other than AND."

So how do we begin applying HQL?

ColdFusion ORM has abstracted HQL Calls into: ORMExecuteQuery() with the following syntactical possibiltites:

  • ORMExecuteQuery(hql, [params] [,unique])
  • ORMExecuteQuery(hql, [,unique] [, queryoptions])
  • ORMExecuteQuery(hql, params [,unique] [,queryOptions])
  • ORMExecuteQuery (hql, params, boolean unique, Map queryOptions)
  • ORMExecuteQuery(hql, [,unique] [, queryoptions])

for a compound where it would look something like this

<cfset filterTable = ORMExecuteQuery("from ARTIST where a
= b and c = d or x = ?", [40])>
In this example the question mark represents a dynamic value, 40 is that value passed in as a one dimentional array it could easily be
[#form.value#]. If we were to pass in multiple values they would be evaluated and assigned in order.  

In the case of aggregate functions HQL supports the following:

  • avg(...)
  • sum(...)
  •  min(...)
  • max(...)
  • count(*)
  • count(...)
  • count(distinct ...)
  • count(all...)

These would be applied in the same manner as the compound where

<cfset aggTable = ORMExecuteQuery( "SELECT COUNT(*)
FROM tbl_table", {tblID=1})>
So in a nutshell, for complex SQL use HQL
Share |
Posted by admin at 12:11 PM| Link  |  0 comments |

 

25 May 2010

NCDevCon Presentation

Link to the PPT
I've posted my NCDevCon presentation to SlideSix, you can view it here: http://slidesix.com/view/Hands-on-ColdFusion-Unit-2
Share |
Posted by admin at 7:50 AM| Link  |  0 comments |

 

05 May 2010

Speaking at NCDevCon

Part of the Hands On ColdFusion 101 series

I will be speaking at NCDevCon, the weekend of May 22, at the NC State College of Textiles on the main campus of NC State in Raleigh, NC.

I will be conducting a two hour long hands on session, covering ColdFusion Database integration, manipulation and outputting.

And just for fun I'll throw in some Ajax-y goodness.

Details are here: http://www.ncdevcon.com...

and by the way.. this conference is FREE, as in zero cheap, nada, nothing, just register..

Share |
Posted by admin at 2:08 PM| Link  |  0 comments |

 

21 March 2010

cfajaxproxy and JQuery

The agnostic nature of cfajaxproxy
Untitled Document

The agnostic nature of cfajaxproxy.

I always thought that cfajaxproxy was inexorably tied to the Ajax functions built into ColdFusion.. I recently found out that
I was wrong.

CFAjaxproxy is used to create a javascript proxy of a ColdFusion Component (cfc) for use in the web client. This means any javascript,
not just ColdFusion based AJAX components.

Lets take the AJAX post code from my last post and see how it would work with cfajaxproxy.

This is the original code: It's calling action pages to execute ColdFusion components.


$("#getTOByWeek").live("click", function(){
   $.ajax({
         type:"post",
         url:"webapps/hr/admin/actions/act_adminHR_Handler.cfm",
        data:$("#toByWeek").serialize(),
        cache:"false",
        success: function(){
            $("#content-box").load("webapps/hr/admin/display/dsp_TOList.cfm");
        },
       error: function(){
           alert("data");
       }
   });
   return false;
});

If I use cfajaxproxy it would look something like this, to achieve the same functionality

<cfajaxproxy cfc = "CFC name" jsclassname = "JavaScript proxy class name">

The CFC property instantiates the entire component, using dot notation (com.foo.bar.component), jsclassname is the name that is given to the function
inside javascript:

<cfajaxproxy cfc="hr.cfc.hr_dao" jsclassname="hr_dao">

This gives me a javascript representation of my hr_dao.cfc that can be used in any javascript case.
//instantiate the ColdFusion Function
<cfajaxproxy cfc="hr.cfc.hr_dao" jsclassname="hr_dao">

//capture the click event
<script>
$("#getTOByWeek").click(function(objEvent){
         //call the ColdFusion method directly

         hr_dao.getTimeOffStatus(objEvent);
        //trigger the success function based on return
       return false;
      });
<script>

Share |
Posted by admin at 5:50 PM| Link  |  0 comments |

 

01 February 2010

Addressing the death of ColdFusion

yet again...sigh

Terry  Ryan posted a link to a StackOverflow thread asking about the merits of ColdFusion… while the thread itself is closed, I’m going to post my own commentary here.

Many fellow CF devs came out in support of the product, which we should. What surprised me was the incredible lack of knowledge on the part of the naysayers. One in particular, a humorless little Frenchman named Pascal Thivent…

Share |
Posted by admin at 12:00 AM| Link  |  0 comments |

 

 

© 2011 Scott Stewart / SSTWebworks
Design by Contented Designs