9

Informix とは何ですか? これが DBMS であることは理解していますが、学習の難しさと構文の点で、SQL Server と比較してどれくらい優れていますか?

Informix の学習を開始するには? そして、「hello world」のチュートリアルを教えてもらえますか?

4

4 に答える 4

15

IBM Informix Dynamic Server (IDS、通称 Informix。ただし、Informix 製品ファミリの一部である製品は他にも多数あります) は、多くの目的に優れた DBMS です。優れたデータ管理機能、優れたデータ複製機能を備えており、信頼性があります。Informix の最初の SQL ベースの DBMS は 1985 年にリリースされたため、Oracle、DB2、Ingres、Sybase と同様の寿命と歴史を持っています。すべての主要な DBMS (MS SQL Server を含む) と同様に、これは SQL 標準よりも古いため、SQL 標準に準拠していない部分がありますが、一般的には妥当な仕事をします。Unix および派生物 (Solaris、AIX、HP-UX、Linux、および MacOS X) だけでなく、Windows (XP、Vista など) でも動作します。

IDS の最新バージョンは 11.50 です (完全には 11.50.FC2 または 11.50.UC2)。遭遇する可能性のある他のバージョンには、7.31、9.40、10.00、または 11.10 が含まれます。Informix は、Informix Standard Engine (Informix SE) の現行バージョン 7.25、および Informix OnLine (IDS の前身) の現行バージョン 5.20 も提供します。クライアント ツールの主なソースは、現在のバージョン 3.50 の Client SDK です。これには、ESQL/C、ODBC、JDBC、.NET、およびその他のさまざまなドライバーが含まれます。Informix SQL (IDS に組み込まれた SQL の Informix ダイアレクトとは異なる製品) および Informix 4GL も使用できます。

DBI と DBD::Informix を Perl で使用できます。PHP 用の PDO_INFORMIX ドライバーと PDO_IBM ドライバーがあります。Python 用のドライバーがあります。Ruby 用のドライバーがあります。(古い) Tcl/Tk 用の古いドライバがあります。下記の IIUG Web サイトで、SQLCMD (同じ名前の MS SQL Server プログラムよりも 10 年ほど前の日付) を見つけることができます。Aubit4GL として利用可能な I4GL のオープン ソース再実装があります。I4GL の派生物は、 4JsおよびQuerixでも見つけることができます。Server Studio Java Edition (SSJE) は www.serverstudio.com にあります

正規の Web サイトはwww.ibm.com/software/data/informixで、www.informix.com からもアクセスできます (通常、URL は www-01.ibm.com になります)。また、International Informix Users Group の Web サイトwww.iiug.orgにも多くの情報があります。会員登録は無料です。IIUG は多数のメーリング リストを提供し、informix-list@iiug.com リストと comp.databases.informix ニュース グループの間のゲートウェイを含んでいます。

ソフトウェアの試用版は、IBM と IIUG の両方から入手できます。

完全な開示: 私は 1986 年から Informix 製品に携わっており、現在は IDS の IBM で働いています。

于 2008-10-17T16:19:22.810 に答える
6

IDS を使用する .NET 開発者の観点からすると、これはかなりの苦痛です。

主な理由 (IDS 11.5):

  1. IDE 統合または視覚化ツールの欠如
  2. デコードに別のツールが必要なエラー メッセージ
  3. .NET 側から SQL をチェーンする機能がない
  4. サーバー側で文字列操作機能を実行する機能がない (または、私の DBA が教えてくれた - DBA は IDS を 10 年以上使用している)
  5. .NET および 64 ビット OS に関連する IDS ドライバーには、既知の (未修正の) バグが多数存在するようです。
  6. 返された DataReader オブジェクトに列名がありません (つまり、手動でマッピングすることを意味します。reader['columnname'] を実行する機能はありません)。

これらは、IDS を扱う 1 つのプロジェクトのほんの一部です。高速であることはわかりますが、信頼性は高いと確信していますが、オブジェクト モデルに対して簡単にコーディングできない場合は、ほとんど意味がありません。

于 2011-10-29T22:12:32.760 に答える
3

申し訳ありませんが、あなたの発言は少し古くなっているに違いありません。Informix 11.50 (非常に古いバージョンで、間もなくサポートが終了します。現在は 12.10 バージョンです) は、IBM Data Server ドライバーを介して、.NET エンティティ フレームワークと既に互換性がありました。ドライバをインストールした後、VSAI プラグインをインストールするだけです。私は何人かの .NET 開発者の構成を手伝いましたが、彼らは本当に驚いていました。

フロントエンドとして、JDBC 接続を使用して複数のデータベースで動作する Squirrel (オープンソース) を使用できます。

文字列操作に関する実際のバージョン (12.10) のマニュアル ページについては、こちらを参照してください。

Informix は、NoSQL アプリケーションとトランザクション サポートを混在させることができるようになりました。

于 2014-09-25T17:35:10.483 に答える
2

SQL を知っていれば、Informix を基本的なレベルで非常に簡単に操作できます (DBA の場合は、まったく別の問題です)。

私にとって最大の問題は、適切な開発 IDEがないことです。QuantumDB Eclipse プラグインから基本的なクエリを実行できますが、ストアド プロシージャを操作できませんでした (IBM JDBC ドライバーの問題だと思います)。Unix コマンドライン インターフェイスは、そこで適切に何かを行うための最も簡単な方法のようです。

いくつかのトリックがあります (結合の順序が重要であることを知っているなど)が、途中でそれらを拾うだけだと思います。

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%'
于 2008-10-17T16:10:55.493 に答える