Archive forApril, 2007

Oracle GUI Clients

If you search for Oracle GUI Clients in Google, you turn up with nothing. After some more hunting, I found TOAD. I have been using the Free version of TOAD for a few weeks now but it is very annoying and has to be updated often. Also it can only make one connection at a time. The price of the full version > 800$!!
That’s an outrage, especially for us MySQL folks who can get SQLYog for free (which works perfectly well in Linux with wine).

A few days back I installed Ubuntu 7.04 on a new computer at work and was hunting for an Oracle client and I found TOra, an open source Oracle Client. I still haven’t got it connecting to Oracle from Ubuntu and the Windows version won’t even run. Hunting for ways to make it work, I found SQL Developer - which is made by Oracle themselves and is free. If only Oracle would have mentioned this on the download page for InstantClient, it would have saved me a few hours of searching, tinkering and complaining about a lack of choice in Oracle clients.

SQLDeveloper is a cross platform Java Oracle client and it is free and does everything that TOAD does as far as I can tell. No more TOAD for me.

Comments

Lemongrass - New contender for the best Thai in Cville

Ate at Lemongrass at the Corner on Friday and can’t get enough of their Spicy Lemongrass Tofu, which the chef says is a dish he invented. Since the restaurant opened, Parchayi and me have been there atleast twice a month. I would highly recommend trying Lemongrass out. Students get a buck off the lunch specials.

My only complaint with Lemongrass is their tiny dinner portions - they are about the same as the lunch portions.

Comments

Thai 99

Ate at Thai 99 (at JPA) yesterday, which has long been my favorite Thai place to eat in Charlottesville and one of the best places for Thai food that I have ever eaten in. Eat there during lunch and try out their excellent Thai desert.

Even though many people prefer the Thai 99 on 29N (in the picture on their website), I find the spice level of their food very inconsistent, their drunken noodles (one of my favorite Thai dishes) not as good as the one on JPA and of course the rats. I have seen one myself and have heard from others too about the rat problem.

Comments

Gripe 3, 4 with Oracle - concat + magic quotes

Concat:

Most of the database queries I run at some point are used to generate HTML and rather than go through the results of the query and add HTML to it in PHP or Ruby code, I like to get this out of the query itself.
So in MySQL my queries often look like this:

select concat(’<a href=pagename.php?varid=”‘, varname, ‘”>’, varid, ‘</a>’) as varlink, …..

However for the same result in Oracle, which only allows two items in the concat function,
this turns into:

select concat(’<a href=pagename.php?varid=”‘, concat(varname, concat(’”>’, concat(varid, ‘</a>’)))) as varlink, …..

If there are multiple such items, the query becomes extremely ugly with too many brackets to keep track of.

Magic Quotes:

My next complaint about Oracle is no magic quotes - string values must be in single quotes, no double quotes allowed.

Comments (3)

Bookmark Business Cards..

A few months ago I got vertical business card sized bookmarks printed for The Internet Book Database from Printing For Less and I was impressed. They helped me make several revisions to my draft image at no charge, went above and beyond what I expected from them, shipped one day before I expected and the cards are the best card stock I have seen anywhere. Plus the printing is flawless, all for a lot less than our local print shop! I highly recommend them.

You can get a 25$ discount at Printing for Less by using this Promo Code - RP1N9GMS7

Comments

Charlottesville up in the Best Small Places For Business And Careers

This year Charlottesville is no. 19 in Forbes’ annual list of Best Small Places For Business And Careers up from no. 32 last year.

Charlottesville has always been decently ranked in Forbes’ list every year and also makes it to many other Top lists and often takes the crown.

Comments (1)

Ruby (no Rails) + FastCGI

One of the projects I’m working on is recreating the Surplus Property website at UVA. We are doing this in Ruby+FastCGI, which I’m using for that first time. It took me a few days to get used to programming in Ruby because it is unlike other languages. Proponents can argue that it is easier and more intuitive,
but it isn’t to people like me who are used to other languages.

Ruby itself was ok, but using FastCGI takes some getting used to especially if you are used to the conveniences of PHP. There are no easy to find session handling libraries - so you have to do it yourself. In fact there is a lot you have to do yourself including parsing for GET and POST variables and some basic code to handle FCGI requests. There is also a serious lack of documentation about using Ruby+FCGI. Thankfully I have some help from our server admin.

Debugging Ruby+FCGI applications is also not easy. When an application dies because of an error, it writes to the Apache log and all you get in the browser is a nice ‘Internal Server Error’ (you can use begin - rescue blocks but they won’t help with syntax errors). Once you use something like this, you will really appreciate the conveniences of the PHP world - easy to debug, lots of documentation and lots of users out there.

On the +ve side, FCGI apps once written are blindingly fast because the application is always running, needs no recompilation, database connections need only be made once when the app starts and that can reduce a lot of overhead. As such FCGI is nice, but has a long way to go as far as documentation and libraries go.

Comments

Gripe 2 with Oracle - Additional Columns in Group By

In the MySQL world, I can do this:
select a, b, c, max(d) from e group by a

In the oracle world that results in:
ORA-00979: not a GROUP BY expression

To overcome this, you guessed it, nested queries again:
select a, b, c, d from e, (select a, max(d) as d from e group by a) e2 where e.a=e2.a and e.d=e2.d
(There might be potential problems with this but that is beyond the scope of my gripe :) )

Comments (2)

Gripe 1 with Oracle - Pagination with queries.

Oracle 10g logoTwo months ago I moved to the Department of Procurement Services at the University of Virginia. Now I get to use Oracle for the first time and it is an adjustment being used to MySQL. I had high expectations from Oracle hoping my life as a Web and Database Application Developer will be easier. So far dealing with Oracle hasn’t been fun.

First order of business was to create pagination for some database results. Being used to the very convenient limit m,n of MySql, I set out to find the equivalent in Oracle - oops! - there is none. So I go about searching and find this - On ROWNUM and Limiting Results - a bunch of inconvenient ways to achieve the same result. Even Postgres has Limit n, Offset m. Come on Oracle - it is high time to implement this - three deep nesting is not nice for ordered pagination.

Comments

FP!

Welcome, I plan to use this site to blog about stuff that doesn’t really fit on other blogs I run, that are focussed on their own topics - Personal Finance and The Internet Book Database. Hopefully I will have some useful information for you which so far I have been using my website for.

Comments

Close
E-mail It