What's a quality development environment for writing Oracle SQL? [closed] - sql

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
The project I'm working on has an Oracle backend, and we use SQL Navigator 5.5 for SQL development and it really sucks: the intellisense doesn't work for queries with more than one table and you can't browse the schema and write a query on the screen at the same time. Not fun.
I also tried using Oracle SQL Developer. That's not much of an improvement either - the graphics on the query results window get all fudged up and have to be repainted frequently by clicking around the screen.
The extent to which I'm writing SQL is pretty basic: a procedure here and there, mostly queries. Can someone recommend a decent tool, preferably one with a low cost?

You may want to check out PL/SQL Developer (http://www.allroundautomations.com/plsqldev.html). It does more than just PL/SQL. Cost is pretty reasonable. On Linux try Tora It is suppose to be a replacement for Toad. Have used to other 2 personally but not the latter.

I'm pretty sure that TOAD is the most used tool. I don't recall how much it costs now days, but I'm generally very satisfied with it even with a slightly older version.

All IDE:s for Oracle DB are more or less bad, TOAD is the best but still nothing comapared to real IDE like Visual Studio or Eclipse.
Main problem with TOAD is the default texteditor. Find is nightmare and you can't change shortcuts and auto alignment uses spaces even if you configure it to use tabs and other annoying features. Also cancelling queries or making query to disconnected session might crash it. Also the intellisense is kinda slow imo but it works which is better than what others offer.

There are several tools out there you could give a try.
TOAD or DbVisualizer are examples for tools which could make you happier than SQLDeveloper. Altough, most of the available tools are commercial.

SQL*Plus: it's free with the database, and always guaranteed to be there - and there's nothing you can't do with it :)

I used [CAST](http://en.wikipedia.org/wiki/CAST_(software) for 2004-6, and it's quite good. One of the principal reasons for using it was that it supports locking of PL/SQL packages when editing them. Now I use jEdit for almost all developments, and Oracle SQL Developer for easy lookup of table properties and such.

There is a freeware version of TOAD, though it's not as fully featured as the paid ones. You can find it at:
http://www.toadsoft.com/

There is fairly decent support in Emacs using sql-mode and plsql-mode. I wouldn't recommend it unless you are an Emacs user though.
Failing that Toad is fairly good, although it fairly heavy weight.

If you're looking for an open source solution SQuirreL SQL Client is pretty good. It isn't Oracle specific though. It works with any jdbc client.

Another open source tool which works really well is SQL Workbench (http://sql-workbench.net/). Works with all JDBC clients, but we've had alot of success with Oracle. Also includes some scripting support which can be helpful for importing/exporting large amounts of data.

I personally use PL/SQL Developer to develop and Spotlight on Oracle to profile.

Two more options (just for completeness):
Hora
Aqua Data Studio

Related

Google Big Query: alternatives to browser SQL editor? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I'm currently working a lot with Google Big Query and I absolutely hate querying in-browser. I'm used to connect to regular DB's through editors like Toad, Microsoft SQL Studio, Teradata Studio Express or Databeaver. I'm look for a similar tool that you guys would recommend for using on Google Big Query.
Only alternative I've found so far are razorsql and jetbrains datagrip (whereas the latter requires a custom connection (https://blog.jetbrains.com/datagrip/2018/07/10/using-bigquery-from-intellij-based-ide/)
Any idea's on alternatives out there?
Thanks in advance
There's a thread on reddit with some recommendations.
I personally like the UI and there's a new UI coming (but doesn't seem to change much in functionality, only styling).
Some of the recommendations are:
DataGrip
Aquafold
Metabase
Potens
PopSql
Plus a few other tools that aren't RDMBs per se but have the components to "run queries" not in the UI, like Mode Analytics.
I haven't personally used any of them, but take it for a spin and see which one you like the most! (share your insights here later as I'm also curious about it)
I'd recommend http://potens.io/, specifically Goliath which a great tool for data exploration. My team of ~20 non engineers uses Potens for data exploration and user friendly workflow automation (Magnus). Let me know if you have any questions.
I tried PopSQL (popsql.com) which looks like a nice alternative for the Web-UI and has the best Bigquery support of all the other tools. However it does not have many features and is not much better than the Web-UI. The main advantage is you can organise your stored-queries better, as you can use folders instead of the long list of stored queries in the webui.
There are some cons however: There is no autocomplete with table names and attribute names, and it does not have "save" buttons so you overwrite everything and sometimes things are not saved at all. It feels a bit beta, with some bugs and raw edges, so the payed full version is overpriced. The free version can only save 15 or so queries so it is of no use.
As for the other options I have tried:
Datagrip does not have a bigquery driver. There are some hacks to write your own driver but this has limited support.
Currently there is no official independent editor for BigQuery, but the BigQuery Web UI that you can use as the graphical web UI to query your data. However, you can file a feature request per instructions at Report Bugs and Request Features with Issue Trackers to request the independent editor tool for BigQuery.

What is a good free RDBMS solution for a small web project that may grow large if successful? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
As a C# developer that uses MS SQL Server heavily I'd prefer to use what I know; however, for a small project the licensing costs are prohibitive and so I'm looking at using a free open source solution such as MySQL. Which of the free RDBMS solutions are the best in terms of stability, performance, features and ease of use for someone familiar with MS SQL Server?
RDBMS I'm considering so far are (in alphabetical order):
Firebird
Ingres
Lucid
MySQL
PostgreSQL
I would recommend PostgreSQL over MySQL. I think it's more robust. But it's got more of an Oracle flavor, in my opinion.
UPDATE:
All the suggestions provided to date are relational in nature. There are other alternatives, such as object databases. There's a whole "no SQL" movement out crying in the wilderness for non-relational alternatives. They might be worth a look as well.
If SQL Server Express is an option, it might be the best choice for you. If not, I'd pick up MySQL or PostgreSQL from your list, they both are good choices. However, MySQL has IMO more user-friendly admin tools (see MySQL GUI Tools) that you may like if you aren't familiar with the command line.
If you are interested by a comparison between MySQL and PostgreSQL, check MySQL vs PostgreSQL from WikiVS, the open comparison website.
Just an idea ...
Sybase offer a free version of their enterprise product 'ASE' - may be worth a look. It's somewhat hobbled - can only use up to 2G of memory and 5G total of data on disk. Depends just how 'small' your project will be. Given the shared parentage of SQL Server and ASE, it might be worth a look.
If your experience is with SQL Server, have you considered SQL Server Compact? This is a free, in-process RDBMS compatible with SQL Server that you can link to your app. Performance and features are excellent for applications that do not require multiuser access, and it does not requre an admin install.
MySQL?
There's no reason to use MySQL over PostgreSQL. Although MySQL seems to have addressed some of the product's worst flaws, they general attitude towards RDBMS' theory makes me very wary of them. And there's certainly lots of things still going against them:
Awful, terrible documentation
The fun game of choosing table engines so that you get the functionality you need
Modifying your data without warnings! Silently dropping data! Silently ignoring constraints!
... and you can go on... The only plus I see towards MySQL is the builtin replication.
There's also SQL Server free editions, no?

What does the term legacy database mean? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Closed 9 months ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
I read this term a lot. What exactly is a legacy database? I ask because I had thought it meant an old database like dbase or rdb, but I don't think I'm right.
When looking at RoR or Django and "legacy database" integration, what does legacy database really mean? Is it different than a generic term "legacy database"?
In the general context, it can refer to any of the older database technologies.
In a more specific context, it can refer to a database system that was inherited by a team from previous project owners.
legacy: anything from the past that keeps coming around to haunt you.
A legacy database is generally something that you will have to inherit and base some of your design decisions around. Most companies that put out work may already have some other (usually horrible) solution and you need to give them a bigger and better product...
BUT
It has to work with all of their old legacy data. The company is not going to want to manage two different applications just so they can keep all their old records. You will need to develop your solution to be able to migrate the data from the legacy system over into your system. This can have a massive impact on the overall design of the new database, because it cannot stray too far from the previous without introducing a lot of problems in terms of data integrity.
It's usually derogatory in my experience:
Something no-one wants to touch in case it breaks
Databases that can't be maintained (say that SQL 6.5 box lying around)
Someone else's badly designed and implemented database
Something that someone is trying to replace
Supported by the 93 year old wierdo
If it's in-use but still has maintenance or development activities, it can't be legacy...
Edit:
Given the age of the SQL language and the RDBMS, everything is legacy (including my new system due next year) compared to the software listed. At what point does Ruby turn legacy from the database perspective..?
We mostly use the term 'legacy database' as a db schema we can not 'easily' modify without breaking other software/systems using this schema.
this sums it up pretty well.
[edit] Broken link. Here's the quote from FOLDOC:
Legacy System -- A computer system or application program which continues to be used because of the cost of replacing or redesigning it and often despite its poor competitiveness and compatibility with modern equivalents. The implication is that the system is large, monolithic and difficult to modify.
If legacy software only runs on antiquated hardware the cost of maintaining this may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware.
Flat file, hierarchy, and network databases are usually referred as legacy databases. They represent the ways people used to organize information in prehistoric times — about 30 years ago.
Legacy is used to denote the old thing. legacy database is something which continues to be used because of it cost of replacing and redesigning it.
In general context refers to old code inherited. Tipycally cobol code.
It is used for code which it is still used for historcal reasons.
It applies also for DB schemas

Unit Testing Framework for Oracle PL/SQL? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I've seen the question (and answer) when posed for MS SQL Server, though I don't yet know of one for Oracle and PL/SQL. Are there xUnit style testing frameworks for Oracle's PL/SQL? What are they?
The most commonly used is probably utPLSQL
The original author of this toolkit now works for Quest, which has a commercial PL/SQL unit testing application.
The last version of SQL Developer includes an Unit Test suite very interesting.
I have created and using PL/SQL unit testing framework using Ruby library ruby-plsql.
It provides much shorter and more readable tests than utPLSQL and gives more flexibility compared to GUI tools (like Quest Code Tester or SQLDeveloper 2.1).
PLUTO appears to be very new, and there doesn't appear to be a lot of documentation. So I would be concerned that you'd be working through a decent number of bugs to get things working. utPLSQL has been around for a number of years and pretty widely deployed, so there have been a lot more bug fixes and a lot more people who can help out if you run into problems.
Additionally, and not to disparage anyone, but Steven Feuerstein, who wrote utPLSQL is one of the most recognized PL/SQL experts in the world. While I'm sure the author of PLUTO is a perfectly competent developer, I don't believe he has anywhere near the reputation Steven has.
I found this question searching for a PL/SQL unit test framework. I've found an article where PLUTO's developer argues for it:
... there are a few products that help PL/SQL programmers test their code. Quest Software has a product called Code Tester for Oracle; however, the free version is cripple-ware and the for-pay version just adds one more obstacle for you to have to get by in convincing your organization to start testing. There is also a utPLSQL project that was abandoned a few years ago and it is starting to suffer from bit rot.
I've recently used successfully unit testing framework of PL/SQL Commons toolkit (see also author's slides). The toolkit is not yet publicly available (at the time of the writing) but if you drop an email to the authors you'll get a working package (or at least I got).
I also found another library: PLUTO - has anyone used these and can compare/contrast them?
We use DBUnit. It integrates nicely into a continuous integration tools like Cruise Control, though developers need to learn a little Java. Templates, utilities and code samples helped our pl/sql developers get up to speed quickly.
Haven't used any, but last realese of utPLSQL was on July 2005 and since the author is the same from the commercial code tester for oracle (http://www.quest.com/code-tester-for-oracle/) I don't think we'll be seeing much of utPLSQL in the future if any, so I think I'll take my chances with PLUTO (2008)
I looked at all of those, but the only one I liked was PLUnit. It does seem to have been abandoned by its maintainers (I had to tweak the scripts to make them install). But the API is extremely simple, and it doesn't try to force an OOP/xUnit approach into PL/SQL.

What is a good Visio Enterprise Architect replacement? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I've been using Visio 2002/2003 Enterprise Architect to do my database schema design visually and then forward-generate the DDL to create the database.
I wanted to switch to Visio 2007, but while it does have database diagramming support, it doesn't have the ability to generate DDL. Bummer.
I am really disappointed because it seems like Microsoft has completely abandoned this feature. You can't do it in Visual Studio (that I've found). You can sorta do it with SQL Server Management Studio if you insert database diagrams into your database, but any edits to the schema immediately take effect.
Has anyone found a good program to do this? I'm hoping to find one that is free and can generate DDL/SQL for SQL Server.
Unfortunately, I have recently faced the same problem, hoping that MS would provide a new version of Visio Enterprise Architect since I have used it FOREVER to do ERDs/database design. Since this does not seem to be forthcoming from them however, I have been forced to research other tools. The ones I checked out included the following:
Embarcadero ER/Studio
Visual Paradigm DB Visual Architect
Altova DatabaseSpy
Dezign for Databases
Sybase PowerDesigner
Also, I tried to check out DevGEMS Data Modeler but kept getting "the setup files are corrupted" after downloading it. I never considered ERWin as the interface seems too old school/legacy plus it is too expensive. Just when I had almost given up all hope of finding a well-rounded but [relatively] cheap alternative I came across ModelRight. I find it curious that I haven't heard more about this company given that their product is EXCELLENT and inexpensive (under $1000 for multi-DB support or under $500 for a single DB type) compared to other high-end DB modeling tools. Further, the company was founded by one of the first developers to work on ERwin (see their company's "About" page for more info).
To make a long story short, if you want to save yourself a day's worth of research on this subject, check out ModelRight FIRST and go from there. BTW, for full disclosure - I have no affiliation with the ModelRight company! ;^)
P.S. - From what I can tell currently, VS 2010 isn't going to offer a full DB modeling environment but only enough to support the Entity Framework which I am not currently sold on (especially having spent the time to roll my own ORM layer).
This functionality is only available in the "for Enterprise Architects"-edition of Visio. This edition is apparently not sold as a stand-alone product, but it is included in MSDN Premium.
See this article on Office Online: What happened to the Generate and Update commands on the Database menu?
Not free, but very good and simple to use: Dezign for Databases
Draw your model and then you can generate DDL for lots of different databases.
I use Sparks Enterprise Architect. It can create the basic by taking all your database with an ODBC than you can design and reverse change too. It's not free.
Oh, and DBDesigner is pretty good, and free.
http://www.fabforce.net/downloads.php
If you are referring to the Object Role Model diagrams, you can google for that, or for Terry Halpern.
I reverted to VisioModeler, which is available free (but unsupported) at
http://www.microsoft.com/downloads/details.aspx?familyId=27fe6786-a439-4286-b8b6-7a9b84cfa709&displaylang=en
The 'big' ones are CA's ErWin and Embarcadero's ErStudio.
On a side-note, Microsoft appear to have realized the need for modelling tools so they're working on some new modelling tools ("Oslo") that will [probably] be included in VS 2010.
I got tired of hand-coding my DDL from Visio 2007 Diagrams, so I wrote a script to do it for me. I know it's not perfect. But, it works for me. You are welcome to try it out at aboutwhatever.net/posts/visio-2007-database-model-ddl-generation. If there is enough interest, I will look into expanding it's capabilities.
I found Visio to be useful for 2 things:
1) Flows (flowcharts, wireframing, sitemaps)
2) Reverse engineering Databases
other than that, it's really of no use. But still valuable for those things.
Enterprise Architect is the only way to go with DB Modeling.
I recommend Sybase Power Designer
It's easy to use, intuitive, offers partial SQL DDL preview (for selected objects) and uses scripts for automation.
The scripting feature is not very well documented, but after reading some of their sample scripts I was able to do what I wanted.
Visual Studio 2010 Beta 1 has some pretty cool tools for data modeling, especially the ADO .Net Entity Data Model Tools. And yes, you can generate DDL from the models.