質問
Informixとは何ですか?私はそれがDBMSであることを理解していますが、学習の難しさと構文の点でSQL Serverとどれほどよく比較できますか?
Informixの学習を開始するには?そして、「こんにちは世界」を知っていただけますか。チュートリアル?
解決
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も提供します。クライアントツールの主なソースは、クライアントSDK、現在のバージョン3.50です。これには、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の古代のドライバーがあります。 SQLCMD(同じ名前のMS SQL Serverプログラムよりも10年以上前に作成されています)は、下記のIIUG Webサイトで見つけることができます。 I4GLのオープンソースの再実装がAubit4GLとして利用可能です。また、 4Js および Querix 。 Server Studio Java Edition(SSJE)は www.serverstudio.com で見つけることができます。
正規のWebサイトは www.ibm.com/software/data/informix です。 、そして www.informix.com もそこに連れて行ってくれます(通常はwww-01.ibm.comになります) URLで)。 International Informix Users GroupのWebサイト www.iiug.org でも多くの情報を見つけることができます。会員は無料です。 IIUGは多数のメーリングリストを提供し、informix-list @ iiug.comリストとcomp.databases.informixニュースグループの間にゲートウェイを備えています。
IBMとIIUGの両方からソフトウェアの試用版を入手できます。
完全な開示:私は1986年からInformix製品を使用しており、現在はIDSでIBMに勤務しています。
他のヒント
IDSで作業する.NET開発者の観点からすると、これは重大な問題です。
主な理由(IDS 11.5):
- IDE統合または視覚化ツールの欠如
- デコードに別のツールが必要なエラーメッセージ
- .NET側からSQLをチェーンする機能はありません
- サーバー側で文字列操作機能を実行する機能がない(または私のDBAが教えてくれた-DBAはIDSで10年以上働いている
- .NETおよび64ビットOSに関連するIDSドライバーには、かなりの量の既知の(修正されていない)バグがあるようです
- 返されるDataReaderオブジェクトには列名がありません(手動でのマッピングを意味します-reader ['columnname']を実行できません)
これらは、IDSを扱う1つのプロジェクトからのほんの数項目です。私はそれが速く、信頼できると確信していますが、オブジェクトモデルに対して簡単にコーディングできない場合、それはかなり無意味です。
申し訳ありませんが、あなたの声明は少し時代遅れになっているに違いありません。 Informix 11.50(非常に古いバージョンで、間もなくサポートが終了します-現在は12.10バージョンです)は、IBM Data Serverドライバーを介して.NETエンティティフレームワークと既に互換性がありました。必要なことは、ドライバーのインストール後にVSAIプラグインをインストールすることだけです。いくつかの.NET開発者がそれを構成するのを手伝いましたが、彼らは本当にそれを驚かせました。
フロントエンドとして、JDBC接続を使用して複数のデータベースで動作するSquirrel(オープンソース)を使用できます。
文字列操作に関する実際のバージョン(12.10)のマニュアルページはこちら。
Informixは、NoSQLアプリケーションとトランザクションサポートを混合できるようになりました!
SQLを知っている場合、基本レベルでInformixを非常に簡単に使用できます(DBAの場合はまったく別の問題です)。
私にとって最大の問題は、まともな開発IDEがないことです。 QuantumDB から基本的なクエリを実行できます。 Eclipseプラグインですが、ストアドプロシージャを使用できません(IBM JDBCドライバーの問題だと思います)。 Unixコマンドラインインターフェイスは、そこで適切に何かを行う最も簡単な方法のようです。
いくつかのトリック(結合の順序が DOES であることを知っているなど)がありますが、途中でそれらを拾うだけだと思います。
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%'