Pergunta
O que é Informix? Eu entendo que é um DBMS, quão bem ele está comparando com o SQL Server em termos de dificuldades e sintaxe aprendizagem?
Como começar a aprender Informix? E posso saber o tutorial "Olá mundo"?
Solução
IBM Informix Dynamic Server (IDS, coloquialmente Informix, embora existam muitos outros produtos que fazem parte da família de produtos Informix) é um excelente DBMS para muitas finalidades. Ele tem capacidades de gerenciamento de dados excelentes, replicação de dados notável, e é confiável. O primeiro DBMS baseados em SQL Informix foi lançado em 1985, por isso também tem longevidade e pedigree semelhante ao Oracle, DB2, Ingres, Sybase. Tal como acontece com todas as principais DBMS (incluindo MS SQL Server), que pré-datas do padrão SQL, por isso há partes que não estejam em conformidade com o padrão SQL, mas geralmente faz um trabalho razoável. Ele é executado em Unix e derivados (Solaris, AIX, HP-UX, Linux e MacOS X), bem como no Windows (XP, Vista, etc).
A última versão do IDS é 11,50 (na íntegra, 11.50.FC2 ou 11.50.UC2). Outras versões que podem ser encontrados 7.31, 9.40, 10.00 ou 11.10. Informix também fornece Motor Informix Padrão (Informix SE), a corrente versão 7.25, e Informix OnLine (um pré-cursor para IDS), a corrente versão 5.20. A principal fonte de ferramentas de cliente é o SDK do cliente, atual versão 3.50. Isso inclui ESQL / C, ODBC, JDBC, .NET e vários outros motoristas. Informix SQL (um produto, distinto do dialeto Informix de SQL incorporado no IDS) e Informix 4GL também estão disponíveis.
Você pode usar DBI e DBD :: Informix com Perl. Há uma PDO_INFORMIX e um motorista PDO_IBM para PHP. Há um driver para Python. Há um driver para Ruby. Há um driver antigo para a (antiga) Tcl / Tk. Você pode encontrar SQLCMD (pré-datando o programa MS SQL Server com o mesmo nome de uma boa década e um pouco) no web-site IIUG mencionados abaixo. Há uma re-implementação open source do I4GL disponível como Aubit4GL. Você também pode encontrar derivados I4GL em 4JS e em Querix . Você pode encontrar o Server Studio Java Edition (SSJE) em www.serverstudio.com .
O site canônico é www.ibm.com/software/data/informix e www.informix.com também leva você lá (você costuma acabar com www-01.ibm.com no URL). Você também pode encontrar um monte de informações no site Users Group International Informix www.iiug.org . A adesão é gratuita. O IIUG fornece uma série de listas de discussão, e inclui um gateway entre a lista informix-list@iiug.com eo grupo de notícias comp.databases.informix.
Você pode obter versões de teste do software da IBM e da IIUG.
A divulgação completa:. Eu tenho trabalhado com produtos Informix desde 1986 e atualmente trabalho para IBM em IDS
Outras dicas
De uma perspectiva de desenvolvedores .NET trabalhar com IDS é uma dor significativa bola.
Os principais motivos (IDS 11.5):
- A falta de integração IDE ou ferramentas de visualização
- As mensagens de erro que requerem mais uma ferramenta para decodificar
- Sem capacidade de SQL cadeia do lado do .NET
- Sem capacidade de executar funções de manipulação de string no lado do servidor (ou assim meu DBA me diz - o DBA tem mais de 10 anos trabalhando com IDS
- Parece haver uma quantidade significativa de bugs conhecidos (não corrigidos) no IDS motoristas a ver com .NET e 64bit OS
- Não há nomes de coluna no DataReader retornou objetos (o que significa que traçam a mão - sem capacidade de fazer leitor [ 'columnname'])
Estes são apenas alguns itens de um projeto lidando com IDS. Eu posso ver isso é rápido, tenho a certeza que é confiável, mas se você não pode código contra o modelo de objeto facilmente, então é bastante inútil.
Lamento, mas você deve ser um pouco desatualizado em suas declarações. Informix 11,50 (uma versão muito antiga, que em breve se tornará fora de suporte - estamos agora em 12.10 versão) já era compatível com estrutura de entidade NET, através driver IBM Data Server. Tudo o que você precisa fazer é instalar o plugin VSAI, depois que o driver está instalado. Eu ajudei vários desenvolvedores .NET para configurá-lo, e eles foram realmente espantado com ele.
Como um frontend você poderia usar o esquilo (opensource), que trabalha com vários bancos de dados, usando conexões JDBC.
Veja aqui para a versão atual (12.10) página de manual sobre manipulações de string.
Informix agora é capaz de misturar aplicações NoSQL, com suporte transacional!
Se você sabe SQL você pode trabalhar com Informix em um nível básico com facilidade significativa (Se você é um DBA isso é outro assunto completamente).
Para mim, o maior problema é a falta de um IDE de desenvolvimento decente - você pode executar consultas básicas de QuantumDB eclipse plug-in, mas você não pode trabalhar com procedimentos armazenados (I supor que é o problema com os controladores IBM JDBC). A interface de linha de comando Unix parece ser a maneira mais fácil de fazer qualquer coisa corretamente lá.
Existem alguns truques (como saber que a ordem da junta O importa), mas eu acredito que você só vai escolher aqueles no caminho.
SELECT
table1_alias.column1 column1_alias,
table2_alias.column2 column2_alias
FROM
table1 table1_alias,
table2 table2_alias
WHERE
table1_alias.column1 = table2_alias.column2
AND
table1_alias.column3 != 'value'
AND
(char_length(table1_alias.column3) > 3
AND
table1_alias.column3 IS LIKE 'another_value%'