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 do 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.