2011-12-15

SQL Navigator 6.6 released

Quest Software released the 6.6 version of SQL Navigator. Mainly it corrects some bugs.
The most usefull new feature is in the history search (where you can search the runned scripts/commands for an expression) to filter the commands by type.


Check the Release Notes and the Known Issues List.

TIOBE Programming Community Index for December 2011

PL/SQL is on the 14th place TIOBE Index (december 2011).
It's was 23st in November last year.
It was in 13th in 2008 and 2007 in the same month!

2011-11-19

2011-09-05

Oracle Database 11g Release 2 Express Edition Available

Oracle Database 11g Release 2 Express Edition (Oracle Database XE) final version is available. It's "an entry-level, small-footprint database based on the Oracle Database 11g Release 2 code base. It's free to develop, deploy, and distribute; fast to download; and simple to administer." Download Documentation Do not forget to check the Open Bugs and Known Issues section.

Oracle Magazine September - October 2011

HTML version
Flash version

2011-08-30

2011-08-22

2011-08-20

Oracle APEX 4.1 released and it's documentation


Oracle Application Express 4.1 was released.


"This latest Oracle Application Express release is focused on enhancing existing
functionality and adds data upload capabilities."
- Oracle Press Release

Oracle Application Express 4.1 Documentation Library is also available.

2011-07-26

Oracle Database 11g Security and Compliance Solutions Free Webseminar

28 of July 2011 - Free Webseminar "Oracle Database 11g Security and Compliance Solutions" by Tom Kyte
As the amount of digital data within organizations continues to grow at unprecedented rates, so does the value of that data and the challenges of safeguarding that data. Two thirds of sensitive and regulated data resides in databases, yet most IT Security programs fail to address database security and the primary sources of threats that databases face today: insecure applications and privileged users.

Register here

2011-07-23

O ícone de gravar

Eu não tinha ainda pensado nisto: o ícone para "gravar" ("salvar" em português do Brasil) é na grande maioria das aplicações um desenho de uma diskete floppy e, um grande número de potenciais utilizadores dessas aplicações numa viram uma diskette (quanto mais usaram uma :-) ) pelo que, esse ícone não se torna "óbvio". Alterar para um CD ou DVD também não será uma boa opção :-).
Há uns meses atrás o meu amigo Vítor postou sobre a importância dos ícones e da escolha das suas cores. Os ícones devem ser suficientemente intuitivos (não crípticos) e distintos nas aplicações de grande acesso.
Já agora, lembrei-me do ícone usado muitas vezes para agenda...

2011-07-22

VirtualBox 4.1 released

Released on the 19th VirtualBox 4.1 has several new features like VM clones, enhanced wizard for creating new virtual disks, Windows Aero support, increased capability for very large hosts,...

For any developer interested in trying Oracle DB there are several appliances (pre-built images) available.
Also available are some other appliances for several free and/or open-source Operating Systems.

2011-07-19

QuestTV

Quest Software site has recently make available a new section in its website called QuestTV with several videos about its services and products. Some of these videos are also available in Quest Software Channel in YouTube.

Most interesting videos for PL/SQL developers:

Using Toad for Oracle with Oracle Instant Client (this series is helpful even for people that do not use TOAD but want to install and configure Oracle Instant Client.
  • Using SQL Tracker available with TOAD or SQL Navigator
Steven Feuerstein (renowned PL/SQL expert :-)) videos:
About Spotlight on Oracle (a tool normally used by DBA's but also by some Developers :-) )

2011-07-18

Firefox: (...)unsupported form of compression

Using Firefox 5.0 I noticed that in a webpage some javascript was not running.

Using Firebug I noticed that the call to related .js file was returning the following error:

"The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression"

Because the page (and javascript) was working in other browsers I tried the "force-refresh" ("do not use cache") and it fixed the problem! It looks like the cache was corrupted somehow.

Now I know!

BTW: I'm thinking in switching to chrome as my default browser. Any thoughts?

2011-07-17

TIOBE Programming Community Index for July 2011

PL/SQL is again in the 21st place TIOBE Index (July 2011).
It's was in 22nd last month.

"Prece" Translation

Como prometido no post anterior aqui vos deixo a minha tentativa de tradução da música "Prece" para inglês

As promise in the previous post here is my translation to english for the song "Prece" by Luís Represas.
(my son fell asleep yesterday listening to this song)

The reason behind the song by its author (Luís Represas) is to ask our children to forgive us for what we have been doing so far, and for us to give them strength to not make the same mistakes we made and that were, after all, the same mistakes made by our parents, grandparents and so on.

Prayer

Singer: Luis Represas

I see nobody on the roads
The fields deserts of people
At sea almost no water is visible
In the sky the air dies from warm

We let nothing come
From nothing we had in
We wanted to own everything
We closed the doors to the wind

And if no longer us,
Because time did not let,
To do, what if done,
Would unite us in love,
A prayer we leave here
In the breast of our children
Be much better than us
And please forgive


The hope fell from the mountain
Of lives long forgotten
Love burned at the fires
That burn in promised lands

We do not want to see the end of the road
To guess the end of life
We were born n exchange for nothing
We do not want to give it as defeated

Refrain *2

2011-07-16

Prece

Hoje o meu filho adormeceu a ouvir a canção Prece de Luis Represas.
Luís Represas disse sobre o significado/desejo desta música:

"Para que os nossos filhos nos perdoem o que temos vindo a fazer até hoje, e que nós lhes dê-mos forças para eles que não cometam os mesmos erros que nós cometemos e que, afinal de contas foram os mesmos erros que cometeram os nossos pais, osnossos avós e por ai fora"

Aqui vos deixo a letra e a música. Tenham uma boa noite.
Brevemente espero "postar" a minha tentativa de tradução da letra para inglês.

Prece

Luis Represas

Não vejo ninguém nas estradas
Os campos desertos de gente
No mar já quase não se vê água
No céu o ar morre de quente

Deixamos que o nada viesse
Do nada que tinhamos dentro
Quisemos ser donos de tudo
Fechamos as portas ao vento

E se já não formos nós,
Porque o tempo não deixou,
A fazer, o que a ser feito,
Nos unisse pelo amor,
Uma prece aqui deixamos
No peito dos nossos filhos
Sejam bem melhores que nós
E perdoem por favor


A esperança caiu da montanha
De vidas há muito esquecidas
O amor queimou-se nas fogueiras
Que ardem por terras prometidas

Não queremos ver o fim da estrada
Adivinhar o fim da vida
Nascemos a troco de nada
Não queremos dá-la por vencida

Refrão *2

2011-07-04

Para

Segundo o último acordo ortográfico para a língua Portuguesa o que quer dizer a seguinte frase:

"Uma pedra para o João."

Significa que uma pedra está reservada para o João ou que uma pedra consegue parar o João?

Missing features in PL/SQL

I love PL/SQL but there are some missing features that very annoying:

- Result cache is very nice but restrictions like authid CURRENT_USER (CLOB, BLOB) should only make the cache algorithm not to be applied but not issuing an compilation error (giving only a compilation pls warning) so the code could be prepared for future implementation of the result cache without those restrictions.
The use of VPDs should be 100% transparent with Result cache, i.e. using VPD should not imply a change in the code to work correctly!

- Conditional compilation is nice but cannot check if the oracle version is 11.2.0.2 (or above) only can check 11.2 and oracle implemented new features (like UTL_SMTP using TLS/SSL connection) in that new “patched” version. (here the problem is the missing global constant for anything “below” the minor number or maybe the numbering of that version)

- Automatic detection of "pure" user-defined PL/SQL functions for parallelism (in parallel queries) for functions in packages (like Oracle does for stand-alone (not in package) functions).


BTW: Editions look great but we encounter a bug that “corrupted” the catalog and so the DBAs are not confident to continue to use it for now.

2011-06-24

2011-06-17

TIOBE Programming Community Index for June 2011

PL/SQL in 22nd place in TIOBE Index for June 2011.
It's was in 13th place last year (June 2010) and 21st last month (May 2011).
It was 14th in June 2008 and 11th in June 2007.

2011-06-11

Oracle Application Express 4.1 Early Adopter 2

Encontra-se disponível para testar on-line a versão Oracle Application Express 4.1 Early Adopter 2 em http://tryapexnow.com/

Uma das novas funcionalidades diz respeito à melhoramento no suporte para traduções (em especial as traduções podem agora ser exportadas com a aplicação).

A lista das novas funcionalidade pode ser consultada aqui.

2011-06-06

APEX Listener Release 1.1.2 released

APEX Listener Standard Configuration
In May, a new version of APEX Listener was released.
It fixes some bugs like:
  • Fixed flexible parameter support to handle POSTs without requiring a query string to be present in the submitted URI.
  • Fixed a problem with the standalone Listener where the location of the images folder could not be overwritten.
  • Fixed a problem with character encoding when consuming HTML forms submitted using the multipart/form-data content-type.
  • Fixed a problem with an IllegalStateException being thrown when the path /apex (instead of /apex/) was accessed on the standalone Listener.
As always you can download the last version at OTN.

APEX Listener Advanced Configuration

2011-05-25

Do not miss the ODTUG free Webinar: Understanding Explain Plans

Tuesday, June 7, 2011 3:00 PM - 4:00 PM EST

Understanding Explain Plans
Dan Hotka, www.DanHotka.com
This presentation is a must-see for anyone doing SQL tuning. Dan has a thorough understanding of how the Cost-Based Optimizer works and shares that knowledge in this presentation.
Dan covers:
  • Useful Explain Plan tools and scripts
  • Understanding Oracle Explain Plan
  • How the CBO makes its decisions
  • Query Transformations
  • How tables are processed/joined
  • How indexes are processed
  • Explain Plan line Items
This is a live-demo presentation. Dan shows how to work with Explain Plans then goes into considerable detail about exactly how Oracle arrives at an Explain Plan. Dan is an experienced trainer with considerable knowledge on this topic. The attendee will gain valuable insights as to how Oracle processes SQL and many tips on how to improve SQL performance.
Register Here

2011-05-14

TIOBE Programming Community Index for May 2011

PL/SQL in 21st in TIOBE Index for May 2011.
It's was in 14th place in May 2008 and 24th last month.

APEX 4.1 Early Adopter disponível para testar

Encontra-se disponível para testar on-line a versão Oracle Application Express 4.1 Early Adopter em http://tryapexnow.com/

Já no passado eu tinha postado sobre algumas das features que iriam aparecer na versão 4.1
A lista das novas "features" (actualmente implementadas) pode ser encontrada aqui.

As mais importantes a meu ver são: novo controlo para tratamento de erros (Patric Wolf explica em duas partes: aqui e aqui) que permite passar o log de erros para uma função do utilizador; suporte de todos os tipos de validacao nos Tabular Forms; possibilitar a criaação plug-in para autorização (explicado aqui).







2011-05-04

SQL Navigator 6.5 released

Quest released a new version of SQL Navigator. Mainly it corrects bugs and some new features (like the filter in the history and the join of the 6.3 DB filter with the 6.4 version).

Check the Release Notes and the Known Issues List.

As Vidas Dos Outros

Ontem no rádio ouvi pela primeira vez esta música.
Gostei bastante do ritmo e da letra e no final já estava a cantarolar o refrão.

2011-04-23

Oracle APEX Listener 1.1.1

Oracle APEX Listener 1.1.1 was released last week.

This release fixed several bugs. It addresses the following issues:

2011-04-15

NUMBER(38) versus INTEGER

Someone ask me why his table compare application showed that a NUMBER(38) column was of a distinct datatype from INTEGER in Oracle.

Digital version of Oracle Magazine May/June 2011 available

Digital version of Oracle Magazine May/June 2011 is available.

Look inside >
BC Cover
May/June 2011

2011-04-12

"How APEXBlogs was built" video

Ace Director Dimitri Gielis did a Webinar on "How Dimitri Gielis Built and Launched the New APEX Blogs Website" that was recorded and is now available on video at redgate.
Check it if you miss the Webinar! 

2011-04-07

PL/SQL Channel

Steven Feuerstein announced the creation of the PL/SQL Channel, "featuring over 27 hours of detailed and tightly focused videos, showing you how to use many of the most important features of the PL/SQL language".

Uma canção na cabeça: O Profeta

Hoje o meu cérebro deu-lhe "para passar" esta música: "O Profeta" que conheci há muito tempo por uma cassete (sim eu do tempo das cassetes, e somente no ano passado arranjei em CD) com o mesmo nome.

2011-04-03

Confiarei

Gosto muito desta música baseada no Salmo 23

TIOBE Programming Community Index for April 2011

PL/SQL in 24th in TIOBE Index for April 2011.
It's was in 30th place last month. So it's going a little up :-).
In April 2009 was 12nd and was in 13th in 2008 and 2007.

How APEXBlogs was built: FREE Webinar

Ace Director Dimitri Gielis will do a FREE Webinar on Wednesday, April 6, 2011 4:00 PM - 5:00 PM GMT : "How Dimitri Gielis Built and Launched the New APEX Blogs Website"

Check here for more info and free registration.

"If you can't make it, but liked to have seen it... register too. The webinar gets recorded and the link will be sent to all registered people, so you can still see it whenever suits you."

update: the recorded video is now available.

2011-04-02

Oracle Database 11.2 Express Edition Beta

Oracle released a Beta version of Oracle XE 11.2 :-) (only for windows x32 and Linux x64)

Oracle Database 11g Express Edition (Oracle Database XE) is a free version of the world's most capable relational database. Oracle Database XE is easy to install, easy to manage, and easy to develop with. With Oracle Database XE, you use an intuitive, browser-based interface to administer the database, create tables, views, and other database objects, import, export, and view table data, run queries and SQL scripts, and generate reports.

This version fixes the bugs 10 XE has that were fixed in the standard version and has some new features but doesn't have some cool new features of 11g like PL/SQL Function Result Cache :-(: see Feature availability

Documentation can be found here

Requirements: approximated 0.5 Gb for software installation
Limits: maximum of 11 Gb for user data (it was only 4Gb in the 10g version!). Uses only the equivalent to only one CPU and only 1 Gb RAM.

It ships with APEX installed. update: Attention: According to this posts it ships with a weak default password for APEX_040000 user and APEX Patch 4.0.2 is missing.
Update 26-July: the version I download yesterday for Windows has already APEX Patch 4.0.2 and the user APEX_040000 is locked.

Notice: this version doesn't work with SQL Developer below 3.0 versions. A bug that is promised to be fixed in the final version.

I hope the final version will see the light very soon (maybe for Oracle World?)

2011-03-29

Oracle SQL Developer 3.0 released

Oracle SQL Developer 3.0 is now available for download.


Some of the new features:
  • Data Modeler: SQL Developer Data Modeler 3.0 is now fully integrated.
  • Exporting and Importing: The Importing and Exporting wizards have been updated to support a wider range of choices. You'll find these on the Tools > Database Export menu, and Export... on the context menus for Tables and Views and on Data Grids. Import Data is available on table context menus.
  • Database Navigator: Users can now manage Database Configuration files, Resource consumption, Security for profiles, roles and users, and manage Storage files such as control files, datafiles, archive and redo logs, rollback segments and tablespaces.
  • DBMS Scheduler: Create a full schedule definition using graphical and grid editors
  • SQL Tuning: SQL Tuning Advisor analyzes high-volume SQL statement and offers tuning recommendations
  • Query Builder: Visual SQL Query Builder with an object drag and drop feature from the connection navigator to the Query Builder view. SQL Worksheet and Query Builder view are tightly integrated. Switch between Worksheet (text) and Query Builder (visual) views at any time.
  • Schema Browser: The Schema Browser supports fast client-side name based filtering for narrowing the list of objects displayed.
  • Migrations: SQL Developer 3.0 brings a number of new features that support the migration from non-Oracle to the Oracle Database.
 Check all in the release notes.

2011-03-28

Mudança da hora afecta PL/SQL Challenge

Devido à mudança da hora (ontem dia 27/3) o começo do dia do PL/SQL Challenge volta a ser a 1h de Portugal continental (no horário de inverno como sabem coincidia com a meia-noite).

É pena os jogadores nacionais serem tão poucos: actualmente somente 30 (quando estão registrados mais de 200). Claro que alguns pode estar no modo "education purpose", mas penso que serão poucos nessa situação.

O PLSQL challenge tem uma pergunta diária sobre PL/SQL (a linguagem embebida na base de dados ORACLE (da companhia com o mesmo nome ;-) ) e já me permitiu aprender algumas coisas. E tem prémios!

As perguntas variam de dificuldade e mais recentemente os seus assuntos têm ido desde a programação OO em PL/SQL a funções agregadas, de problemas com o valor NULL ao uso do %TYPE em coluna do tipo INTEGER.

Se trabalham ou estudam com o uso da Base de Dados (BD) Oracle este é um desafio para aprender e solidificar conhecimentos.
Participem!

2011-03-25

Final Beta of SQL Navigator 6.5 (2)

Another (!) Final Beta version of SQL Navigator 6.5 was made available


We decided to do another beta release to include a few more changes.
(...)
Issues resolved in this release:
--------------------------------
Ability to handle user defined DUAL tables
Bug fixes with data export
View Difference: ability to enter SchemaName.ObjectName for comparing

Source

2011-03-23

Firefox 4

Firefox 4 was released two day ago.

The changes I like:
"Performance: Firefox is up to six times faster than the previous release."
(...)
"The JavaScript engine (..) for faster page-load speed and better performance of Web apps and games."
I really find start-up faster and also the javascript programs.

Private and Secure: Do Not Track: (...) allows users to opt-out of tracking used for behavioral advertising.
Firefox (..) fix(...) flaws in some Web standards to prevent others from accessing your browser history.
HTTP Strict Transport Security (HSTS): automatically establishes secure connections to stop “man in the middle” attacks and keep sensitive data safe from interception during the log-in process.
Content Security Policy (CSP): prevent cross-scripting attacks by allowing sites to explicitly tell the browser which content is legitimate.
The HSTS and CSP still needs some implementation in the webservers (upgrading,etc..) but I think that will happen very fast.

Some HTML5 support . It's still not a final standard but it's adoption is growing (some features more than others) and the features are already being used to great advantages.

And most visual/operational change: Tabs on Top! (you can change to the previous Tabs position if you like)

Now Opera, Chrome and Firefox looks very similar :-)

Changes I need some time to get use to:
Add-ons panel
Link Url information

It's my browser for choice!

2011-03-22

Final Beta of SQL Navigator 6.5

The previous Beta Navigator 6.5 will expire in 31st March but you can download the final beta.

Some issues resolved in this release:
-----------------------------
dbms_output : not showing output generated before error until next SQL is run
Filter Issues in DB Nav Tree : make consistent with DBExplorer
Right-click out of the highlighted area and selection is lost
When you try to highlight the code with mouse and drag off the bottom, selection is lost
View Difference Report - Should add 'No differences found" if objects are identical."
Bind Variables window doesn't exist when Scan Defines/substitution" is on
Bind Variable Window can't remember modes and types of parameters set previously
Make BFILE read-only
Add Disable menu for Constraints and Triggers in Table Editor VOE
Deleting filters still shows in filter list
Add a Disable button to Constraint Editor
Open file dialogue file, set default for file type
Issue with mouse click and shortcut menu when using dual monitor
Degraded performance of Nav on large databases (3000 users), when Show Users in Schema List" preference is set ON."
Add ability to export entire column of BLOB data like Toad for Oracle.
Include a DROP FORCE clause for type object
Could not open package object with parameters of type when having NO permission to see the type object.
SQL Nav hangs on long running query + Explain Plan+View Differences
Bug on tree refresh in DB Explorer on saved filter
Have checkbox in filter to use case & ignore case by default
DBX Filter did not take into account lower case object name
Can't save Filter in DBX if it has % symbol in name
Add process for object being formatted in the task manager so user can stop it if it takes too long
DBX filter shows current schema in Other Schemas
% in selected schema name in the Full filter - does not work in DB Explorer
Object status is not correct and it cannot be saved
The status of Extract DDL was not modified and save button was disabled, can close it without any confirmation.
Formatter: focus position becomes wrong after formatting invalid text
Editor pane does not show results as split pane
Maintain the size of the data grid after user change for multi sql execution

See full announcement

Why Oracle is not search engine user friendly?

More than ever we use and relay on search engines to find things in the Web (i.e. Google, Bing, etc).

Oracle has a history of changing link around (OTN, etc..) and not maintaining an internal redirection list or even issuing for a time the HTTP 301 Moved Permanently (with the new URL) to web clients (including the crawlers of the search engines).

So we keep on getting oracle site pages in the first places of the search answer list but with no information and search in oracle site means you have to logon. OK using the "Single Sign-On" it's free but even so it's for the normal web user a "wall" and they will leave.

An example of this (at the time of the post) ? Easy!
Search: "Java Stored Procedures" and you will get a link to
http://www.oracle.com/us/technology/sample_code/tech/java/jsp/index.html in the first page (OK it depends on search engine features, country and if you logged on , but should be there)
That link will get you to a page "Error Page 404 - We're sorry, the page you requested was not found." :-(

You can try to use the "Internet Archive: Wayback Machine" but will no success :-(
A possible workaround? Try to check the cache result of Google for the link if available.

Why can't Oracle (a "Database also" Company) maintain their links or keep a database (!) of old link-> new ("related" if not equal) link and search on it when it would display the "Error Page 404" and or redirect the person to that page or show in that 404 page the new link (or list of links)?

2011-03-18

Get IP via hostname or hostname via IP in PL/SQL

Sometimes you need to find out in PL/SQL the IP address of a hostname or more frequently the hostname from the IP address (as nslookup does), for instance to check where a web request is from.

Oracle has the package utl_inaddr that allows us to solve that problem.

2011-03-13

Great post about the Japanese Disaster Preparedness and Engineering

I found this great post about the Japanese Disaster Preparedness and Engineering : Some Perspective On The Japan Earthquake.
Lot of lifes were lost but even more were saved due to great engineering and readiness.

2011-03-11

Rio - A não perder

Uaaaa...
Esta foi a minha expressão ao ver os dois primeiros minutos do novo Filme "Rio" que chegará em abril aos cinemas.
Fez-me recordar a sensação que tive aos primeiros minutos do "Rei Leão" antes dos créditos iniciais: a cena de apresentação do Simba aos animais ("Circle of Life"). Disse nessa altura a quem estava comigo "só por isto já valeu o dinheiro" :-)

2011-03-09

TIOBE Programming Community Index for March 2011

PL/SQL in 30th in TIOBE Index for March 2011. It's was in 15th place in March last year!

Proteger Páginas Web Dinâmicas de acesso errado

Versão em português do meu outro post em inglês.

As vezes queremos proteger o acesso a página web dinâmicas (por exemplo criadas por procedimentos PL/SQL) de acesso errado (não normal) e que não tem relação a permissões de acesso. Uma das razões para o fazer é para evitar tráfego HTTP e carga na base de dados devido a acessos que não foram realmente efectuados pelo normal uso da aplicação web ou sitio web.

Vou usar como exemplo páginas geradas por procedimentos PL/SQL usando o Oracle Web Toolkit e a gateway mod_plsql. Diferentes gateways ou linguagens de programação terão variáveis de sessão web similares.

Do not forget this month ODTUG free Webinar: Introduction to SQL Developer

Tuesday, March 15, 3:00 PM - 4:00 PM EST

Introduction to SQL Developer Session 1
Lewis Cunningham, Oracle ACE Director


2011-03-04

Deolinda "Um Contra O Outro"

Uma canção dos Deolinda que me anda na cabeça
--

"Um Contra O Outro"
Deolinda

Mod_plsql's History

In the other day I found out a post in asktom with the history of mod_plsql.
I present here the relevante bits only changing the format, link info and making clear that the "I" in the text is Tom Kyte.

2011-03-03

Será que só sobe?

Há coisas que não mudam!!! onde se vê 2008 veja-se todos os demais anos até agora!



Oracle APEX Listener 1.1 available

Oracle APEX Listener 1.1 is available

New feature: "(...)RESTful Application Programming Interfaces (APIs) are created by configuring resource templates. Each resource template is a configuration file that binds a set of Uniform Resource Identifiers (URIs) to a SQL query or anonymous PL/SQL block."

2011-03-02

Oracle SQL Developer Release 3.0 : EA 4 available for testing

Oracle SQL Developer Release 3.0 - Early Adopter 4 is available for download.

This version fixes several bugs reported in the previous EAs.

Update: links removed -> final version 3.0 available

2011-02-25

Templates in Oracle APEX video

GogoTraining made the "Template" module of it's online course "Oracle APEX" available.

PL/SQL Triggers Enhancements in 11g video presentation

GogoTraining made the PL/SQL Triggers Enhancements module of it's online 11 New Features course available.

Oracle connecting to SQL Server: problems

I had to "migrate" a program that worked beween two Oracle Databases via DBLink to a program that would between oracle and SQL Server.

The connection between Oracle and the SQL Server was provided by Oracle Gateway for ODBC (not the Oracle Gateway for SQL Server).

For the developer point of view the connection it's a simple DB Link and the developer without making a query would not know that in the "other side" it's a SQL Server. Good thing? No!

Problems:
1. the call to table columns must use double quotes (") to ensure that the right capitalization is used
2. To Oracle columns of some types are not available (like ntext)
3. decimal and numeric columns values are truncated to int :-(
4. subqueries with a mix of SQL Server tables and Oracle Tables are not possible
5. using || to concatenate strings is not possible (in SQL Server that is and arithmetic addition)
6. oracle updating a float,decimal or numeric column in a SQL Server table with a not integer value was not possible
7. some transaction error would occour after some updates in sql server tables and then trying to update some oracle table
8. trying to use a varchar2 in a query comparing (or given the value) to a sql server collumn of the type nvarchar would give conversion error.

workaround:
1. use " (double quotes)
2. make a view with a cast in the SQL Server (or a SUBSTRING like function)
3. make a view with a cast to float in the SQL Server
4. rewrite the code (to a cycle for with another query inside for instance)
5. if possible contatenate ouside the query (to a variable)
6. I wrote the value as and integer (multipied by multiple of 10) to another table in the SQL Server and in that table I had a trigger that would take the value received and the multiplied valor and divide the value and put it in the table (as a non-integer )...its very strange to be able to read floats correctly but not inserting or updating
7. make a commit after changing rows in sql server
8. declare a variable of the column type of the sql server table. use that variable in the query.

Anyone was another way to solve these problems using this gateway (Oracle Gateway for ODBC)? Specially the updates with non-integer values?
Thanks

2011-02-22

2011-02-21

Oracle Learning Library

Oracle Learning Library is an web search index of several free demos and tutorials.
Here are the direct links for the PL/SQL section, the APEX section and the SQL Developer Section.

Digital version of Oracle Magazine March/April 2011 available

Digital version of Oracle Magazine March/April 2011 is available. Cloud and Exadata are the focus.

March/April 2011
BC Cover
Click the image to look inside
Update: direct link for facebook version (it doesn't need subscription info)

2011-02-16

HTML5 onde estás tu?

Quem como eu acha que o XHMTL foi um "ar que se deu", que no fundo não trouxe nenhuma vantagem pois a sua (lenta) adopção não trouxe nenhuma vantagem prática e esperava que o HTML5 viesse colmatar o HTML4 e o uso de "flash e companhia" teve à dois dias um "banho de água fria": o HTML5 foi relagado para 2014 :-(

Lembram-se do WAP ? ...teve uma adopção limitada (mas conheço duas companhias que pegaram logo nisso) e também uma vida muito limitada mas de certo modo teve um desenvolvimento e crescimento rápido.
Pelo contrário o XHTML e o HTML parecem terem estagnado durante uma década (e agora com esta data década e meia) o que me parece deveras estranho num ambiente maioritariamente tecnológico. Vejam só a evolução dos telemóveis e televisores/plasmas, etc..

Essa estagnação permitiu o crescimento de outras tecnologias com mais ou mesmo adopção em especial a do adobe flash.

É claro que mesmo no estágio actual o HTML5 "draft" já tem partes suportadas em alguns "browsers" mas como irá este atraso na versão final influenciar a sua adopção ...ou o suporte que agora existe?

Por mim avançaria-se já com o HTML5 e em 2014 seria uma versão 5.1 ...

Actualização: mais pessoas ficaram também decepcionadas. Gostei deste post (em inglês).

2011-02-14

Pensamento de hoje

Murphy era um tipo lixado ...as suas leis são como a gravidade ... não conseguimos fugir.

2011-02-12

"Slides" da apresentação: "SIGARRA - a case study"

Disponibilizei os "slides" da apresentação que fiz conjuntamente com o António Cunha e Nuno Ornelas em Dezembro no evento da Oracle Portugal: "Open Our Windows" realizado em Lisboa: "SIGARRA - a case study" sobre o uso da DB Oracle no Sistema de Informação da Universidade do Porto e como "site"(s) oficial(ais).

Advanced Web Programming outside of APEX

I finally post the"slides" from my presentation the "Oracle PL/SQL Programming Conference (OPP) 2010 Europe" that took place in Brussels last October.
I think that they have enough info to be interesting.

2011-02-11

PL/SQL in TIOBE index continues to go down (February 2011)

PL/SQL is in 33th in TIOBE Index for February 2011. It's was in 23th place in December!
A drop of 10 places in 2 months!

In 2008 and 2007 in February it was in 13th position in the index.

In a previous post I already wrote about some of the reasons that I think is not allowing a better position of the PL/SQL language in this "popularity" index.

2011-02-09

Canção ao Lado


Desculpem doutos homens, estetas,
Espíritos poetas, almas delicadas,
A falsidade do meu génio e das minhas palavras.

Que é a erudição que eu canto,
Que é da vida: o espanto, que é do belo: a graça,
Mas eu só ambiciono a arte de plantar batatas.

2011-02-05

O que é SYS_REFCURSOR?

Um leitor perguntou-me por mail: o que é uma variavel SYS_REFCURSOR?

SYS_REFCURSOR é declarado no pacote STANDARD (um dos dois pacotes "default" do PL/SQL) e é uma declaração de um weekly typed cursor (cursor com tipo fraco). i.e. IS REF CURSOR

2011-02-04

A Google Portugal está activa nos Doodles

(continuação de post anterior)
E hoje é a comemoração do Aniversário de Almeida Garret.

Não deixa de ser educativo e também cria um pouco de distração.

2011-02-02

Vitinho no Google

Foi com supresa que vi o Vitinho como Doodle do Google hoje.
Na altura tentei perceber a razão mas não consegui pois estava com alguma pressa.

Agora já sei. Foi para comemorar a data de nascimento do desenho que não era um dado públicamente conhecido.
 No público explicam a origem da ideia e a sua execução.

Second Public Beta of SQL Navigator 6.5

Second Public Beta of SQL Navigator 6.5 (6.5.0.2032) is now available.

2011-02-01

Eternal Postponement :-(

Postponement: To delay until a future time; put off.

Oracle SQL Developer Data Modeler 3.0 released

Oracle SQL Developer Data Modeler 3.0 (3.0.0.665) is available.
It includes the ability to create user defined design rules and transformation scripts, integrated reports and support for collaborative development and version control through Subversion.

Check the new features document. Video demonstrations of the new features are also available.

Quest Code Tester for Oracle 2.0 released

Quest Code Tester for Oracle has a new release (2.0) that you can try.
The new features are:
  • Redesigned the Main Window: The Dashboard is replaced by a new console window, Test Explorer, that offers much greater usability and functionality.
  • Powerful suite management: You can now define suites within suites and set up test workflow with branching logic.
  • Multiple Test Definitions Per Program Unit: You can new create more than one test definition for the same program unit. This makes it easier for multiple developers to build and run tests for the same program unit.
  • Importing and Exporting From the Database Server: Import and export can now be performed through a PL/SQL API
  • New Command Line Utility Separate From Code Tester Executable.
There is a webcast (50 minutes long) of Steven Feuerstein presenting the new features.

2011-01-31

Recent articles to read

Here is a list of some recent articles (last month and half) that I think are very interesting and I advice oracle developers and DBAs to read:
Concurrent Statistics Gathering introduces the Oracle Database 11g r2 latest patchset 11.2.0.2 new concurrent statistics gathering mode.
BTW I think 11.2.0.2 should have been 11.3 due to the addition of several features :-).

100 Things You Probably Didn't Know About Oracle Database series:
Part 1: Myth of Commit Causing Buffer to be Flushed to the Disk
Part 2: Myth: Oracle has a Central Locking System and it's followup

Oracle DBMS_SCHEDULER Part 1–The Basics: A good start for a series of articles about DBMS_SCHEDULER. This article make a very complete introduction to concepts behind this 10g feature that for many people is still a mystery.

And last oracle Magazine Articles:
Simulation Demonstrates Performance: it show the use a of new 11g r2 feature of the SQL Performance Analyzer (new in 11g r1) that allow to get statistics of how the performace would with Exadata;
Ask Tom column specially the about histograms entry

2011-01-29

Diminishing chaos

Following Tom Kyte's Blog I was introduced to the "Geek and Poke" comics. Maybe because I'm in a crazy working phase that makes me want to find fun in work (the kind of fun that makes you laugh about yourself and your work), tonight I spent some time browsing it, and briefly I found some very good amusing ones.
From the first one I show below I start writing this post about documentation and then I found out some other strips that are perfect to make you not forget the message (or at least smile a little :-))

2011-01-28

Como os filhos veem os pais "informáticos" /How kids see their "computer working" parents

Acho que a visão que uma pessoa que programa e projecta programas para computadores é um "extra-terrestre" já está a mudar. Espero assim que o meu filho (F.) me consiga desenhar melhor que a menina do cartoon abaixo...por agora ele já desenha "monstros horríveis" como ele diz.

I think that the thought that a developer it's an "alien" it's changing. So, I hope that my kid (F.) will portrait me better than the little girl in the cartoon bellow…he already can draw some “horrible monsters” as he says.

2011-01-27

About Talent presentation

I began following Writing Excuses podcast some years ago due that Brandon Sanderson was (and is) one of the hosts.
Due to that I began following the Schlock Mercenary web comic strip from Howard Tayler (another host of that podcast).
Yesterday I found this video (in 4 parts) in youtube: a session of Howard Tayler speaking at the Utah Valley University about Talent: "Talent? Who needs Talent?"
Great presentation!

2011-01-26

Error: PLS-00801

Today (using Oracle 11.2.0.1.0 ) I got this error when compiling a pl/sql package:

PLS-00801: internal error [phdcsql_print_kge_errors::parm pos]
PL/SQL: Statement ignored
ORA-00900: invalid SQL statement


The description for PLS-00801: internal error [string] says:

Cause: This is a generic internal error that might occur during compilation or execution. The first parameter is the internal error number.

Action: Report this error as a bug to your Customer Support representative.


Oracle ACE award

"I am pleased to inform you that you have been nominated by Steven Feuerstein for the Oracle ACE award. You have been chosen based on your significant contribution and activity in the Oracle technical community. Like your fellow Oracle ACEs, you have demonstrated a proficiency in Oracle technology as well as a willingness to share your knowledge and experiences with the community."


I would like to thanks to Steven Feuerstein for the nomination, Todd Trichler of OTN for suggesting it and the Oracle Ace Program for the award.

I would also to thanks to my blog readers and all the people that in sessions, by emails, forums, or personally ask me questions and give me feedback (and forgive my English misspelling/writing) , making me feel even more motivated to share my knowledge, learn more and be more...

I would also to acknowledge my coworkers and ex-coworkers, specially Nuno Ornelas, António Cunha, Manuel Machado, Gabriel David and Ligia Ribeiro that always were/are ready to help and to give more challenges.

I'm proud for the being the first Portuguese to get this award.

2011-01-24

Last books read

A list of books I finished reading last week and that I liked:
  • Towers of Midnight  (Wheel of Time series) by Brandon Sanderson (following notes from Robert Jordan)
  • In this book the fans can fell the closer of the series in the next book. I prefer the Gathering Storm (previous volume of the series) mainly due to the changing of timelines (not only POVs) back and forward.
  • A Cantice for Leibowitz  by Walter M. Miller, Jr
  • A classic SF book. It's the story of a group trying to preserve the lost knowledge due to atomic war.

2011-01-22

What the customer want...

I really like this comic strips (Kopozky)...very close to (a sad) reality

2011-01-21

PLS-00907 strange situation

When compiling several packages I got in one of them the PLS-00907 (cannot load library unit) error.

Error: PLS-907
Text: cannot load library unit %s1 (referenced by %s2) 
------------------------------------------------------------------------
---
Cause: PL/SQL is unable to find and load a library unit that was
        previously available.  This typically happens when you try to
        load a unit which references another library unit that is
        non-existent or invalid.
Action: Provide the needed library unit.

2011-01-20

Oracle Critical Patch Update - January 2011

This week Oracle release the latest
Oracle Critical Patch Update Advisory.
As usual :"Due to the threat posed by a successful attack, Oracle strongly recommends that customers apply CPU fixes as soon as possible."
It fixes some remotely exploitable bugs without the need for username and password.

Check it out!

Missing the point: Developer versus Designer


Did you ever experience a situation like that? :-)
Maybe not with a designer, ...

Oracle SQL Developer 3.0 Early Adopter 3 Available

SQL Developer 3.0 Early Adopter 3 is available for download.
The main new features is the integration with SQL Developer Data Modeler 3.0, providing read and write access for designing and developing data models
(The readme.html for SQL Developer Data Modeler 3.0 can be found in the SQL Developer installation in the folder \sqldeveloper\sqldeveloper\extensions\oracle.datamodeler).

Full new feature list.

update: new EA 4 available
Update: links removed -> final version 3.0 available

Nulls the novice and experts trap

Novices and experts alike can fall in the null's hole.

In Oracle there are many reasons for that:

2011-01-19

Strok Project

Two days ago I was presented to the Strok Project (and no, it's not a project to bring babies :-) ). To put it simple: it's a project to make secure electronic identity across Europe using the national eID.
It's a great way to allow a person to validate against government sites, enroll to university courses (Erasmus for example).
If you are in Europe and like eID check it out...it's already being used in some government sites across Europe , (for taxes submission info, etc..) and some universities selected as test cases.

I hope to implement it in University of Oporto (one of the partners of the project) in the next month or two.

2011-01-01

Anedota ou lição de vida?

Começo os posts deste ano com uma anedota (ou será uma lição de vida?) que me enviaram.