<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fusioncube &#187; database</title>
	<atom:link href="http://www.fusioncube.net/index.php/category/database/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fusioncube.net</link>
	<description>The online journey of a technophile, by Steve Brownlee</description>
	<lastBuildDate>Wed, 01 Feb 2012 04:17:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Node.js and MongoDB &#8211; A match made in heaven</title>
		<link>http://www.fusioncube.net/index.php/node-js-and-mongodb-a-match-made-in-heaven</link>
		<comments>http://www.fusioncube.net/index.php/node-js-and-mongodb-a-match-made-in-heaven#comments</comments>
		<pubDate>Sun, 31 Jul 2011 01:10:11 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[mongoose]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=1338</guid>
		<description><![CDATA[On Tuesday I did a presentation for the Pittsburgh JavaScript Developers Meetup group about using Node.js with NoSQL &#8211; or document based &#8211; databases. I chose MongoDB because it&#8217;s got great traction and there&#8217;s a Node module for it named Mongoose. Unfortunately, I was on vacation the week before the presentation, so I didn&#8217;t get [...]]]></description>
			<content:encoded><![CDATA[<p>On Tuesday I did a presentation for the <a target="_blank" href="http://www.meetup.com/Pittsburgh-JavaScript-Developers/">Pittsburgh JavaScript Developers</a> Meetup group about using Node.js with NoSQL &#8211; or document based &#8211; databases. I chose <a target="_blank" href="http://www.mongodb.org/">MongoDB</a> because it&#8217;s got great traction and there&#8217;s a Node module for it named <a target="_blank" href="http://mongoosejs.com/">Mongoose</a>.</p>
<p>Unfortunately, I was on vacation the week before the presentation, so I didn&#8217;t get to cover absolutely everything that I wanted to, but I was able to show some great highlights of what can be done with Mongoose. When I first started to look in to it, I was immediately attracted to its syntax and API being very JavaScript friendly.</p>
<p>First things first, though. You can install Mongoose easily by using npm &#8211; <strong>npm install mongoose</strong>.</p>
<p>Then you simply need to include it and create a reference to a local database (if it doesn&#8217;t exist, Mongoose will create it for you).</p>
<pre class="brush: jscript; title: ; notranslate">
var mongoose = require('mongoose'),
    db = mongoose.connect('mongodb://localhost/test');
</pre>
<p>Now you&#8217;re ready to start working with your database.</p>
<p>One of my favorite things about this system is that you can define, transform, create, and delete all sorts of information without an active database connection. That&#8217;s because MongoDB is document based instead of table based. </p>
<p>In the Mongoose API, it all starts with Schemas &#8211; something not needed in base MongoDB. A schema is the definition of your document &#8211; a rough concept of a table in RDBMS &#8211; but instead of all the normalization that goes on in relational systems, documents get embedded in other documents instead of being joined together.</p>
<p>Let&#8217;s look at my sample. First, I create an instance of <em>mongoose.Schema</em> and then I create two document schemas &#8211; Beer and Type.</p>
<pre class="brush: jscript; title: ; notranslate">
var mongoose = require('mongoose'),
    db = mongoose.connect('mongodb://localhost/test'),
    Schema = mongoose.Schema,

    /**
     *  This is the beer type document that is embedded in the beer document
     */
    Type = new Schema({
        name            : String,
        main_ingredient : String
    }),

    /**
     *  This is the beer document which has a sub-document of Type
     */
    Beer = new Schema({
        brand       : String,
        type        : [Type],   // Embed Type into Beer (kinda like join)
        brewery_age : Number,
        rating      : Number
    });
</pre>
<p>Now that we&#8217;ve defined what a beer is, we make a model for it.</p>
<pre class="brush: jscript; title: ; notranslate">
BeerModel = mongoose.model('Beer', Beer);
</pre>
<p>Now that we have a model for beer, we can create instances. Notice that the parameter is simply a JSON object with each property defined&#8230; except the Type.</p>
<pre class="brush: jscript; title: ; notranslate">
  var Yuengling = new BeerModel({
    brand:'Yuengling',
    brewery_age:105,
    rating: 40
  });
</pre>
<p>To assign properties to a sub-document you use this syntax.</p>
<pre class="brush: jscript; title: ; notranslate">
  Yuengling.type.push({
    name:'Lager',
    main_ingredient:'Malted Barley'
  });
</pre>
<p>Ok, now that we&#8217;ve defined our first beer, let&#8217;s save it to the database. No INSERT INTO needed here, it&#8217;s absurdly simple. You call the save() method; much more JavaScript friendly syntax. It&#8217;s how you would write a save method on any object. Like always in Node &#8211; because we never want to block the I/O on our main event loop &#8211; you pass an anonymous function that will receive an error message if something went wrong.</p>
<pre class="brush: jscript; title: ; notranslate">
Yuengling.save(function(err){
    if (err) { console.log(err); }
  });
</pre>
<p>Let&#8217;s assume, for brevity&#8217;s sake &#8211; that I&#8217;ve added 5 more beers to the database. How would you query it to find beers that have a rating higher than, say, 35? Perhaps the designers of MongoDB live by the K.I.S.S. principle, because you use the find() method. However, the syntax for using operands in the argument list is a bit counter-intuitive.</p>
<p>Let&#8217;s find those on our BeerModel.</p>
<pre class="brush: jscript; title: ; notranslate">
BeerModel.find({ rating: {$gt: 35} }, function(err, beers) {
   beers.forEach(function(beer){
     console.log(beer);
   });
});
</pre>
<p>Another feature I really like in Mongoose is you can add methods directly on the schema and then call those methods on any instance. They serve the purpose of a stored procedure in the relational world.</p>
<p>I&#8217;m going to modify Beer and create two methods that allow me to increment and decrement the value of it rating property.</p>
<pre class="brush: jscript; title: ; notranslate">
    Beer = new Schema({
        brand       : String,
        type        : [Type],   // Embed Type into Beer (kinda like join)
        brewery_age : Number,
        rating      : Number
    }).method('increaseRating', function(){
      this.rating += 1;
      return this.rating;
    }).method('decreaseRating', function(){
      this.rating -= 1;
      return this.rating;
    });

   /**
    * Increase rating of Yuengling
    */
   Yuengling.increaseRating();

   /**
    * Decrese rating of Yuengling
    */
   Yuengling.decreaseRating();
</pre>
<p>How about a validation trigger? In this case, when you call the save() method with a rating that doesn&#8217;t validate, the err argument to the callback function will contain an exception with the message &#8220;Rating for beer is not between 10 and 50&#8243;.</p>
<pre class="brush: jscript; title: ; notranslate">
/**
 * Validate the rating field to be between 10 and 50
 */
Beer.path('rating').validate(function(val){
  return val&gt;10 &amp;&amp; val&lt;=50;
}, 'Rating for beer is not between 10 and 50');
</pre>
<p>These are just scratching the surface of what you can do. At this point in time, the <a target="_blank" href="http://mongoosejs.com/docs/api.html">Mongoose API</a> is a bit sparsely documented, but still, if you want to go through the full API you can find everything you need.</p>
<p>You can see my <a target="_blank" href="https://github.com/chortlehoort/Node_Tutorial/blob/master/mongoose/mongoose.js">full code on my Github</a> account.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/node-js-and-mongodb-a-match-made-in-heaven/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting pages of results from Oracle</title>
		<link>http://www.fusioncube.net/index.php/getting-pages-of-results-from-oracle</link>
		<comments>http://www.fusioncube.net/index.php/getting-pages-of-results-from-oracle#comments</comments>
		<pubDate>Wed, 19 May 2010 18:36:53 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[paging]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=867</guid>
		<description><![CDATA[I learned something new today.&#160; Using ROWNUM in an Oracle query, while it does limit the resultset to the number specified, does not limit it to the top n results.&#160; It’s basically a random sample because it appears that ROWNUM is calculated before the ORDER BY clause. I’ve got a set of data that’s thousands, [...]]]></description>
			<content:encoded><![CDATA[<p>I learned something new today.&#160; Using ROWNUM in an Oracle query, while it does limit the resultset to the number specified, does not limit it to the top <em>n</em> results.&#160; It’s basically a random sample because it appears that ROWNUM is calculated before the ORDER BY clause.</p>
<p>I’ve got a set of data that’s thousands, upon thousands in size that will choke any browser if I try to send the complete set as a JSON string and try to render it, so I’m attempting to page the results.</p>
<p>What I ended up having to do is two-subselects in order to get the paging right.</p>
<pre class="code"><code>&lt;cffunction name="getByAttributes" access="public" output="false" returntype="query"&gt;
	&lt;cfargument name="attr1" type="numeric" required="false" /&gt;
	&lt;cfargument name="attr2" type="string" required="false" /&gt;
	&lt;cfargument name="attr3" type="string" required="false" /&gt;
	&lt;cfargument name="page" type="numeric" required="false" default="1" /&gt;

       &lt;cfset var local = {} /&gt;
	&lt;cfset local.rowEnd = arguments.page * 100 /&gt;
	&lt;cfset local.rowStart = ((arguments.page - 1) * 100) + 1 /&gt;

       &lt;cfquery name="local.pagedQuery" datasource="#variables.datasource.getName()#"&gt;
       SELECT
           y.attr1
           y.attr2,
           y.attr3,
       FROM (
           SELECT
               x.attr1,
               x.attr2,
               x.attr3
               rownum r
           FROM (
               SELECT
                   fi.attr1,
                   fi.attr2,
                   fi.attr3
               FROM funny_info fi
               ORDER BY fi.attr2
           ) x where rownum &lt;= &lt;cfqueryparam cfsqltype="cf_sql_integer" value="#local.rowEnd#" /&gt;
       ) y where r &gt;= &lt;cfqueryparam cfsqltype="cf_sql_integer" value="#local.rowStart#" /&gt;
       &lt;/cfquery&gt;

	&lt;cfreturn local.pagedQuery /&gt;
&lt;/cffunction&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/getting-pages-of-results-from-oracle/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion DSN-free Oracle Connections</title>
		<link>http://www.fusioncube.net/index.php/coldfusion-dsn-free-oracle-connections</link>
		<comments>http://www.fusioncube.net/index.php/coldfusion-dsn-free-oracle-connections#comments</comments>
		<pubDate>Thu, 25 Feb 2010 21:55:23 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[coldfusion oracle dsn jdbc]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=781</guid>
		<description><![CDATA[Figured this one out by sheer, dumb luck. &#60;cfscript&#62; driverManager = createObject("java","java.sql.DriverManager"); conn = driverManager.getConnection("jdbc:macromedia:oracle://111.11.11.111:1521;SID=mySID;serverName=111.11.11.111;user=**********;password=**********"); stmt = conn.createStatement(); recordSet = stmt.ExecuteQuery("select * from table order by 1 desc"); results = createObject("java", "coldfusion.sql.QueryTable").init(recordSet); &#60;/cfscript&#62; &#60;cfdump var="#results#"&#62; The trick was to add the username and password as properties of the connection string rather than having them inline. [...]]]></description>
			<content:encoded><![CDATA[<p>Figured this one out by sheer, dumb luck.</p>
<pre class="code"><code>&lt;cfscript&gt;
driverManager = createObject("java","java.sql.DriverManager");

conn = driverManager.getConnection("jdbc:macromedia:oracle://111.11.11.111:1521;SID=mySID;serverName=111.11.11.111;user=**********;password=**********");

stmt = conn.createStatement();
recordSet = stmt.ExecuteQuery("select * from table order by 1 desc");
results = createObject("java", "coldfusion.sql.QueryTable").init(recordSet);
&lt;/cfscript&gt;

&lt;cfdump var="#results#"&gt;</code></pre>
<p>The trick was to add the username and password as properties of the connection string rather than having them inline.</p>
<p>This fails</p>
<pre class="code"><code>driverManager.getConnection("jdbc:macromedia:oracle:username/password/111.11.11.111:1521;SID=mySID;serverName=111.11.11.111;")</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/coldfusion-dsn-free-oracle-connections/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Preventing SQL Injection</title>
		<link>http://www.fusioncube.net/index.php/preventing-sql-injection</link>
		<comments>http://www.fusioncube.net/index.php/preventing-sql-injection#comments</comments>
		<pubDate>Thu, 28 Aug 2008 13:44:51 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[cfml]]></category>
		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=245</guid>
		<description><![CDATA[An old client of mine recently contacted me with a problem. Their home page, several sub-pages, and the administrative section weren&#8217;t displaying properly and functionality was broken. Turns out, they were a victim of the recent swarm of SQL injection attacks. After pulling the old code out of my repository, I discovered that I&#8217;d used [...]]]></description>
			<content:encoded><![CDATA[<p>An old client of mine recently contacted me with a problem. Their home page, several sub-pages, and the administrative section weren&#8217;t displaying properly and functionality was broken.  Turns out, they were a victim of the recent swarm of SQL injection attacks.</p>
<p>After pulling the old code out of my repository, I discovered that I&#8217;d used CFQUERYPARAM (I won&#8217;t iterate the hundreds of articles you can find by yourself stating, &#8220;USE CFQUERYPARAM, DUMMY!!&#8221;) in all of my business logic code, so I couldn&#8217;t quite figure out what was going on.  While perusing the web for other ideas, I ran across <a href="http://www.jasonbartholme.com/2-methods-to-help-prevent-sql-injections-with-coldfusion/">Jason Bartholme&#8217;s blog entry about preventing SQL injection attacks</a>.  He has a simple bit of code that he put in onRequestStart() so check if the keyword DECLARE was in the URL.</p>
<pre class="code"><code>&lt;cfif not structIsEmpty(URL) &gt;
   &lt;cfloop list="#StructKeyList(URL)#" index="i"&gt;
      &lt;cfif URL[i] CONTAINS "4445434C415245"&gt;
         &lt;cfmail to="me@mysite.com" from="them@theirsite.com" subject="SQL Injection Attempt" type="html"&gt;
            &lt;cfdump var="#URL#"&gt;
            &lt;cfdump var="#CGI#"&gt;
         &lt;/cfmail&gt;
         &lt;cfabort&gt;
      &lt;/cfif&gt;
   &lt;/cfloop&gt;
&lt;/cfif&gt;</code></pre>
<p>This worked like a charm and allowed me to see what exactly these jerkoffs were doing.  Turned out I had left CFQUERYPARAM out of some queries I was running for the Contact Us page and a few product display pages.  Once I added the tags, the attacks stopped.</p>
<p>If you&#8217;re seeing SQL injection attacks, just add the code to application.cfm or the onRequestStart() function of application.cfc to see if this is the method the attackers are using and what they are doing.</p>
<p>Thanks Jason!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/preventing-sql-injection/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Visio IDEF1X Format</title>
		<link>http://www.fusioncube.net/index.php/visio-idef1x-format</link>
		<comments>http://www.fusioncube.net/index.php/visio-idef1x-format#comments</comments>
		<pubDate>Wed, 18 Jun 2008 19:45:24 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=226</guid>
		<description><![CDATA[Viewing database models in Visio in the IDEF1X format.]]></description>
			<content:encoded><![CDATA[<p>I just discovered, about 4 days ago, that you can format Visio database diagrams in the IDEF1X format.  While IDEF1X has many shortcomings, I have to say I find it much easier to understand the relationships and constraints at a quick view in this format rather than the standard format.</p>
<p>Granted I&#8217;m still running the 2001 version of Visio for Enterprise Architects, so I&#8217;m sure that recent releases have more formats in which to view an object model. However, for the time being, I&#8217;m having fun with opening all my old schemas and changing their format.</p>
<p><a href='http://www.fusioncube.net/wp-content/uploads/2008/06/idef1x.png'><img src="http://www.fusioncube.net/wp-content/uploads/2008/06/idef1x.png" alt="" title="IDEF1X" width="430" height="340" class="alignleft size-full wp-image-225" /></a></p>
<p>To get your model in this format, you choose the following menu option:<br />
 Database > Options > Document&#8230;</p>
<p>Then in the General tab, select IDEF1X as the symbol set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/visio-idef1x-format/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Oracle Analytical Functions for Hierarchical Data</title>
		<link>http://www.fusioncube.net/index.php/oracle-analytical-functions-for-hierarchical-data</link>
		<comments>http://www.fusioncube.net/index.php/oracle-analytical-functions-for-hierarchical-data#comments</comments>
		<pubDate>Tue, 10 Jun 2008 20:57:10 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=224</guid>
		<description><![CDATA[Ok, I just learned how to do levels and partitioning in an Oracle query today, and I have to say it&#8217;s pretty cool. Basically, I have a view that returns groups of data; i.e. multiple rows with matching &#8220;key&#8221; attributes but different non-prime attributes. Simplistic example: ------------------------------------------------------ 3786 01/26/2008 1 3 0578 ------------------------------------------------------ 3786 01/27/2008 [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, I just learned how to do levels and partitioning in an Oracle query today, and I have to say it&#8217;s pretty cool.  Basically, I have a view that returns groups of data; i.e. multiple rows with matching &#8220;key&#8221; attributes but different non-prime attributes.</p>
<p>Simplistic example:</p>
<pre class="code"><code>------------------------------------------------------
3786       01/26/2008      1        3      0578
------------------------------------------------------
3786       01/27/2008      1        3      0579
------------------------------------------------------
3786       01/28/2008      1        3      0581
------------------------------------------------------
3787       01/29/2008      1        3      0587
------------------------------------------------------
3787       01/30/2008      1        3      0591
------------------------------------------------------</code></pre>
<p>I was wracking my brain trying to figure out how, with one query, I could properly aggregate this data into one resultset. Using <a href="http://www.psoug.org/reference/analytic_functions.html">OVER PARTITION BY</a>, <a href="http://www.psoug.org/reference/connectby.html">SYS_CONNECT_BY_PATH</a>, and the <a href="http://www.psoug.org/reference/connectby.html">LEVEL Pseudocolumn</a>, I came up with a pretty slick resultset that groups certain columns from multiple rows into one parent row.</p>
<pre class="code"><code>SELECT column1,
   ltrim(column2, '&lt;br/&gt;') column2,
   column3,
   column4,
   ltrim(column5, '&lt;br/&gt;') effective_date
FROM (SELECT row_number() over(PARTITION BY column1 ORDER BY column1, ord_level DESC) aggregateRow,
        column1,
        column2,
        column3,
        column4,
        column5
      FROM (SELECT column1,
                  column3,
                  column4,
                  LEVEL ord_level,
                  sys_connect_by_path(column2, '&lt;br/&gt;') column2,
                  sys_connect_by_path(column5, '&lt;br/&gt;') column5
           FROM (SELECT column1,
                       column2,
                       column3,
                       column4,
                       column5
                       row_number() over(PARTITION BY column1 ORDER BY column1, mapped_facility_no) dataSet
                   FROM   database_table
                   ORDER  BY column1, column3) x_alias
            CONNECT BY column1 = PRIOR column1
            AND dataSet - 1 = PRIOR dataSet
           )
    )
WHERE  aggregateRow = 1
ORDER  BY column1</code></pre>
<p>Resultset:</p>
<pre class="code"><code>------------------------------------------------------
          01/26/2008                     0578
3786      01/27/2008      1       3      0579
          01/28/2008                     0581
------------------------------------------------------
3787      01/29/2008      1       3      0587
          01/30/2008                     0591
------------------------------------------------------</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/oracle-analytical-functions-for-hierarchical-data/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Calling Oracle functions in ColdFusion &#8211; BOOLEAN restriction</title>
		<link>http://www.fusioncube.net/index.php/calling-oracle-functions-in-coldfusion-boolean-restriction</link>
		<comments>http://www.fusioncube.net/index.php/calling-oracle-functions-in-coldfusion-boolean-restriction#comments</comments>
		<pubDate>Wed, 07 May 2008 19:54:30 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[cfml]]></category>
		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=206</guid>
		<description><![CDATA[I was trying to call an Oracle function from ColdFusion today and was just receiving error, after error, after error&#8230; well you get the point. Long story short, I couldn&#8217;t successfully get a response since there is no binding between ColdFusion and the Oracle BOOLEAN type, and the function was returning BOOLEAN. So I changes [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to call an Oracle function from ColdFusion today and was just receiving error, after error, after error&#8230; well you get the point. Long story short, I couldn&#8217;t successfully get a response since there is no binding between ColdFusion and the Oracle BOOLEAN type, and the function was returning BOOLEAN.  So I changes the response to 0/1 and it works.</p>
<p>Just something to keep in mind.</p>
<pre class="code"><code>&lt;cfquery name="myQueryName" datasource="myDS"&gt;
    select myPackage.myFunction(myArg1, myArg2) response from dual
&lt;/cfquery&gt;
&lt;cfdump var="#myQueryName.response#"&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/calling-oracle-functions-in-coldfusion-boolean-restriction/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Frameworks &#8216;R Us</title>
		<link>http://www.fusioncube.net/index.php/frameworks-r-us</link>
		<comments>http://www.fusioncube.net/index.php/frameworks-r-us#comments</comments>
		<pubDate>Mon, 05 Nov 2007 17:31:44 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=182</guid>
		<description><![CDATA[As I was explaining my latest application to another developer this morning, I realized that I was a serious framework junky on this one. I like frameworks, but I also like to scatter in my own personal touches to them based on the needs of the application. In this latest app, I am using the [...]]]></description>
			<content:encoded><![CDATA[<p>As I was explaining my latest application to another developer this morning, I realized that I was a serious framework junky on this one.  I like frameworks, but I also like to scatter in my own personal touches to them based on the needs of the application.  In this latest app, I am using the following.</p>
<ul>
<li>Model-Glue</li>
<li>Transfer</li>
<li>ColdSpring</li>
<li>jQuery</li>
<li>AjaxCFC</li>
<li>Ext</li>
</ul>
<p>I was actually amazed at myself when I realized this.  I also found myself thinking that the saying &#8220;standing on the shoulders of giants&#8221; is appropriate in this situation.  I created an absolutely amazing application, in less time than was anticipated, and with an slick, easy-to-use interface.  If it wasn&#8217;t for the hard work of the Rineharts, Resigs, Corfields, Gondas, Mandels, and others of the world, my applications would still be grinding along on my homegrown frameworks that, while they work well, don&#8217;t have near the feature set of these libraries.</p>
<p>I&#8217;ll add voice to the thousands who say thank you for your hard work.</p>
<p class="poweredbyperformancing">Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/frameworks-r-us/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setting Up MySQL Datasources</title>
		<link>http://www.fusioncube.net/index.php/setting-up-mysql-datasources</link>
		<comments>http://www.fusioncube.net/index.php/setting-up-mysql-datasources#comments</comments>
		<pubDate>Tue, 08 May 2007 15:26:41 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/index.php/setting-up-mysql-datasources.html</guid>
		<description><![CDATA[Download the MySQL Connector J library and drop it in your lib directory, then restart your instance. Go to Data &#38; Services &#62; Data Sources section of the ColdFusion Administrator and select &#8220;Other&#8221; from the type dropdown box. JDBC URL: jdbc:mysql://{ip address of server}:3306/{name of database} Driver Class: com.mysql.jdbc.Driver Driver Name: MySQL Connector Username: {DB [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.5.zip/from/pick">Download the MySQL Connector J</a> library and drop it in your <strong>lib </strong>directory, then restart your instance.</p>
<p>Go to <strong>Data &amp; Services &gt; Data Sources</strong> section of the ColdFusion Administrator and select &#8220;Other&#8221; from the type dropdown box.</p>
<p>JDBC URL: jdbc:mysql://{ip address of server}:3306/{name of database}<br />
Driver Class: com.mysql.jdbc.Driver<br />
Driver Name: MySQL Connector<br />
Username: {DB username}<br />
Password: {DB password}</p>
<p>That&#8217;s it.  Really.</p>
<p><!-- technorati tags begin -->
<p style="font-size:10px;text-align:right;">technorati tags:<a href="http://technorati.com/tag/coldfusion" rel="tag">coldfusion</a>, <a href="http://technorati.com/tag/mysql" rel="tag">mysql</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/setting-up-mysql-datasources/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Intellisense</title>
		<link>http://www.fusioncube.net/index.php/sql-server-intellisense</link>
		<comments>http://www.fusioncube.net/index.php/sql-server-intellisense#comments</comments>
		<pubDate>Fri, 02 Jun 2006 02:11:56 +0000</pubDate>
		<dc:creator>Steve Brownlee</dc:creator>
				<category><![CDATA[database]]></category>

		<guid isPermaLink="false">http://www.fusioncube.net/?p=68</guid>
		<description><![CDATA[I discovered a free tool today that is incredible, and I can&#8217;t believe that it&#8217;s free. SQL Prompt will make my query authoring oodles faster! I&#8217;ve tried it so far in the query editor for SQL Server 2000 and SQL Server 2005 Express and it works like a charm in both. If you work with [...]]]></description>
			<content:encoded><![CDATA[<p>I discovered a free tool today that is incredible, and I can&#8217;t believe that it&#8217;s free.  <a href="http://www.red-gate.com/products/SQL_Prompt/index.htm">SQL Prompt</a> will make my query authoring oodles faster!  I&#8217;ve tried it so far in the query editor for SQL Server 2000 and SQL Server 2005 Express and it works like a charm in both.  If you work with SQL Server, this is a must have.</p>
<p><img with="500" src="http://www.red-gate.com/products/SQL_Prompt/Images/SQL_Prompt_Animated_Image.gif" alt="SQL Prompt" border="0" height="213" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fusioncube.net/index.php/sql-server-intellisense/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

