suche 36x36
  • CURSOR Service Distribution
           
     

    CURSOR Service Distribution

    24x7 Always Up

    pfeil
  • Logistics and transportation
           
     

    Logistics and transportation

    24x7 Always Up

    pfeil
  • Industrial environments
           
     

    Industrial environments

    24x7 Always Up

    pfeil
  • Trade and commerce
           
     

    Trade and commerce

    24x7 Always Up

    pfeil
  • Online shopping
           
     

    Online shopping

    24x7 Always Up

    pfeil
  • We care about your databases
           
     

    We care about your databases

    24x7 Always Up

    pfeil
 

Erik Stahlhut

CURSOR Service Distribution

Wir halten Ihre IBM Datenbanken am Laufen 

             
 

Monitoring Monitoring

Monitoring

  • Unternehmen mit existenziell wichtigen Datenbanken vertrauen auf unser Informix Monitoring. Wir vermeiden Systemausfälle bevor sie entstehen.

  • Automatisierte Überwachung rund um die Uhr. Frühzeitiges Erkennen von Engpässen auf Basis von Verlaufsdaten mit dem CURSOR Admin-Scout.

  • Administration für alle Installationsgrößen. Standard-, Remote- oder Standby Administration, bis hin zur 24x7 Bereitschaft für Systeme mit Hochverfügbarkeit.

  • Individuelle Anpassungen an die Service-Level unserer Kunden mit kurzen Reaktionszeiten und persönlichen Ansprechpartnern im Support.

Erfahren Sie mehr zum Informix Monitoring mit der CURSOR Service Distribution!
 

ServiceService

Service

  • Anforderungen aus allen Bereichen des Datenmanagements. Servicepakete oder individuell vereinbarte Projekte wie:
    • Aufbau von Replikationen oder Hochverfügbarkeit;
    • Performance-, Laufzeitanalyse, Tuning;
    • Release-, Plattform- oder Cloud-Migration;
    • Zugriffskontrolle, Verschlüsselung, Archivierung.
  • Die CURSOR Service Distribution ist langjähriger IBM High-Value Service Provider für IBM Informix.

  • Speziell für Informix bieten wir zusätzlich Online Seminare, Workshops und Schulungen an.

Informationen zu Service- und Supportleistungen, kommen Sie mit Ihrem Projekt auf uns zu!
 

SupportSupport

Support

  • Anfrage von Supportleistungen zu IBM Datenbanken. Unsere Kunden profitieren von der Kompetenz aus über 25 Jahren Informix Support und systemnaher Entwicklung von Datenbank-Tools.

  • Im Supportfall sind wir der erste und zentrale Ansprechpartner. Wir haben den direkten Draht in die IBM und HCL Supportabteilungen und sind für unsere Kunden mit 24x7 Vereinbarungen rund um die Uhr erreichbar.

  • Auch Informix Kunden ohne aktive IBM Produktwartung können unseren First-Aid Support in Anspruch nehmen.

Buchen Sie ein Ticket auf unserer Website oder rufen Sie uns einfach an!
 
 
 
 

IBM Software

für Hersteller

und Technologiepartner

IBM Embedded Solution Agreement (ESA)
Integration von IBM Software in Ihre Lösung!

  Service
  • Integrieren Sie IBM Software in Ihre Lösung!

  • Profitieren Sie von der Leistung der IBM Software, nutzen Sie die günstigen Konditionen für IBM Lizenzen und Wartung!

  • Die Mitarbeiter der CURSOR Service Distribution haben zwanzig Jahre Erfahrung im indirekten Vertrieb von IBM Software (OEM/ASL/ESA Lizenzierung). Wir zeigen Ihnen wie Sie IBM ESA Business Partner werden.

esa bp werden blue 1000x100

 
 
 
 

KompetenzService

in der Informix Administration

 
 

der CURSOR

Admin-Scout für Informix

esa bp werden blue 1000x100

esa bp werden blue 1000x100

 

 

  • Das Informix Tool direkt aus dem CURSOR Informix Support.

  • Entwickelt von Administratoren für Administratoren.

    Mit einem Hintergrund von über 25 Jahren Informix Support, Administration und systemnaher Programmierung, entwickeln und vertreiben wir den Admin-Scout seit 2015.

  • Durch unseren Managed Service Ansatz, eignet sich der Admin-Scout für nahezu alle Einsatzbereiche des Informix Datenbanksystems. Unsere Kunden sind IT-Abteilungen und Administratoren im Handel, bei Banken, Hochschulen, Gewerbe und in der Industrie.

 
 
 
 

Über uns

die CURSOR Service Distribution

  • High-Value Service Provider für IBM Informix.

  • Distribution für IBM Data-Management Software (OEM/ASL/ESA Lizenzierung für ISVs).

Die CURSOR Service Distribution ist ein Geschäftsbereich der CURSOR Software AG, hervorgegangen aus der Übernahme des Informix und Development-Tool Spezialisten «Nonne & Schneider» Ende 2005.

Wir bieten weitreichende technische Serviceleistung für IBM Informix. Als High-Value Serviceprovider sind wir der direkter Ansprechpartner für alle Servicebelange unserer Kunden zu diesen Datenbanken.

Unsere Serviceleistungen sind dabei unabhängig von einer Lizenzierung über unser Haus. Namhafte Kunden setzen auf unser Monitoring und haben unsere Tools im Einsatz, während Lizenzierung und Update-Wartung direkt bei IBM unter Vertrag sind.

 

CURSOR Software AG

Seit über 25 Jahren entwickelt und vermarktet CURSOR CRM-Lösungen für den gehobenen Mittelstand und Konzerne.

  • Gemeinsam.
    Zusammen mit Ihnen führen wir Ihr CRM-Projekt zum Erfolg. Unsere Experten bieten dafür umfassende Leistungen aus einer Hand: Softwareentwicklung, Beratung, Softwareeinführung, Schulungen, Support – und die laufende Optimierung Ihres CRM-Systems.

  • Begeisternd.
    Wir „leben“ CRM und möchten Sie mit CRM-Software und Dienstleistungen Made in Germany begeistern. Maßstab dafür sind Begeisterung und Loyalität unserer Kunden – und deren Kunden.

  • Erfolgreich.
    Seit 30 Jahren steht der Name CURSOR für exzellentes Kunden- und Geschäftsprozessmanagement – CRM und BPM. Unseren Erfolg messen wir an der Zufriedenheit und den Markterfolgen unserer Kunden. Mehr über erfolgreiche CRM-Projekte erfahren Sie am besten direkt von unseren Anwendern.

 
 
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC69970 Status: Geschlossen

DB2COMMANDBUILDER STATEMENTS RESULT IN TABLE NOT FOUND ERROR WHEN EXECUTING
AGAINST IDS ANSI MODE DATABASES.

Produkt:
DB2 FOR LUW / DB2FORLUW / 980 - DB2
Problembeschreibung:
The IDS ANSI-mode database has some specific rules when it comes 
to resolving the owner name of tables: 
 
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp? 
topic=/com.ibm.sqls.doc/ids_sqs_1704.htm 
(ommitted owner name)  Reads or stores owner exactly as the 
login name is stored in the system, but returns an error if the 
user is not the owner. 
 
The result is that if SQL statements are to have the owner name 
included with the table name, care must be taken to ensure that 
the use is consistent...   the code below demonstrates an 
inconsistency where the DB2DataAdapter is used.   In the example 
code below, the DB2CommandBuilder is going to generate a command 
that includes the owner name without the use of quotes.   When 
that statement is used, an error is thrown indicating that the 
table NEWTON.ownerprob is not found in the database.   This 
occurs even though the user did not use a owner in the original 
SQL statement provided to the command builder. 
 
This is not a problem when connected to either IDS buffered or 
unbuffered logged databases. 
 
      static void IDS_owner_problem() 
      { 
         string connStr = 
"database=mydb;server=mysystem.ibm.com:9089;uid=*****;pwd=****** 
;"; 
         string tstSQL = "select col1 from ownerprob"; 
 
         try 
         { 
            using (DB2Connection tstConn = new 
DB2Connection(connStr)) 
            { 
               tstConn.Open(); 
               DB2Command tstCmd = tstConn.CreateCommand(); 
               try 
               { 
                  tstCmd.CommandText = "drop table ownerprob"; 
                  tstCmd.ExecuteNonQuery(); 
               } 
               catch { /* don't care */ } 
               tstCmd.CommandText = "create table ownerprob 
(col1 integer primary key constraint col1)"; 
               tstCmd.ExecuteNonQuery(); 
               tstCmd.CommandText = "insert into ownerprob 
(col1) values (1)"; 
               tstCmd.ExecuteNonQuery(); 
 
               Console.WriteLine("Reading using DB2DataReader"); 
               tstCmd.CommandText = tstSQL; 
               using (DB2DataReader tstRdr = 
tstCmd.ExecuteReader()) 
               { 
                  while (tstRdr.Read()) 
                  { 
                     Console.WriteLine("\tcol1:  {0}", 
tstRdr.GetInt32(0)); 
                  } 
               } 
 
               Console.WriteLine("add row using DataAdapter"); 
               DB2DataAdapter tstDA = new DB2DataAdapter(tstSQL, 
tstConn); 
               DataTable dt = new DataTable("ownerprob"); 
               tstDA.Fill(dt); 
               Console.WriteLine("\tgot rows:"); 
               foreach (DataRow dr in dt.Rows) 
               { 
                  Console.WriteLine("\t\tcol1:  {0}", 
dr[0].ToString()); 
               } 
               dt.Rows.Add(new object[] { 2 }); 
               DB2CommandBuilder tstBldr = new 
DB2CommandBuilder(tstDA); 
               tstDA.InsertCommand = tstBldr.GetInsertCommand(); 
               tstDA.UpdateCommand = tstBldr.GetUpdateCommand(); 
               int rowsAffected = tstDA.Update(dt);  // throws 
exception HERE!! 
               Console.WriteLine("\trows affected:  {0}", 
rowsAffected); 
               foreach (DataRow dr in dt.Rows) 
               { 
                  Console.WriteLine("\t\tcol1:  {0}", 
dr[0].ToString()); 
               } 
            } 
         } 
         catch (Exception e) 
         { 
            Console.WriteLine(e.ToString()); 
         } 
         finally 
         { 
            using (DB2Connection tstConn = new 
DB2Connection(connStr)) 
            { 
               tstConn.Open(); 
               DB2Command tstCmd = tstConn.CreateCommand(); 
               tstCmd.CommandText = "drop table ownerprob"; 
               try 
               { 
                  tstCmd.ExecuteNonQuery(); 
               } 
               catch { /* don't care */ } 
            } 
         } 
      }
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* .NET provider users on the Windows platform                  * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* The IDS ANSI-mode database has some specific rules when it   * 
* comes                                                        * 
* to resolving the owner name of tables:                       * 
*                                                              * 
*                                                              * 
*                                                              * 
* http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.js 
* topic=/com.ibm.sqls.doc/ids_sqs_1704.htm                     * 
*                                                              * 
* (ommitted owner name)  Reads or stores owner exactly as the  * 
*                                                              * 
* login name is stored in the system, but returns an error if  * 
* the                                                          * 
* user is not the owner.                                       * 
*                                                              * 
*                                                              * 
*                                                              * 
* The result is that if SQL statements are to have the owner   * 
* name                                                         * 
* included with the table name, care must be taken to ensure   * 
* that                                                         * 
* the use is consistent...  the code below demonstrates an     * 
*                                                              * 
* inconsistency where the DB2DataAdapter is used.  In the      * 
* example                                                      * 
* code below, the DB2CommandBuilder is going to generate a     * 
* command                                                      * 
* that includes the owner name without the use of quotes.      * 
* When                                                         * 
* that statement is used, an error is thrown indicating that   * 
* the                                                          * 
* table NEWTON.ownerprob is not found in the database.  This   * 
*                                                              * 
* occurs even though the user did not use a owner in the       * 
* original                                                     * 
* SQL statement provided to the command builder.               * 
*                                                              * 
*                                                              * 
*                                                              * 
* This is not a problem when connected to either IDS buffered  * 
* or                                                           * 
* unbuffered logged databases.                                 * 
*                                                              * 
*                                                              * 
*                                                              * 
* static void IDS_owner_problem()                              * 
*                                                              * 
* {                                                            * 
*                                                              * 
* string connStr =                                             * 
*                                                              * 
* "database=mydb;server=mysystem.ibm.com:9089;uid=*****;pwd=*** 
* ;";                                                          * 
*                                                              * 
* string tstSQL = "select col1 from ownerprob";                * 
*                                                              * 
*                                                              * 
*                                                              * 
* try                                                          * 
*                                                              * 
* {                                                            * 
*                                                              * 
* using (DB2Connection tstConn = new                           * 
*                                                              * 
* DB2Connection(connStr))                                      * 
*                                                              * 
* {                                                            * 
*                                                              * 
* tstConn.Open();                                              * 
*                                                              * 
* DB2Command tstCmd = tstConn.CreateCommand();                 * 
*                                                              * 
* try                                                          * 
*                                                              * 
* {                                                            * 
*                                                              * 
* tstCmd.CommandText = "drop table                             * 
* ownerprob";                                                  * 
* tstCmd.ExecuteNonQuery();                                    * 
*                                                              * 
* }                                                            * 
*                                                              * 
* catch { /* don't care */ }                                   * 
*                                                              * 
* tstCmd.CommandText = "create table ownerprob                 * 
*                                                              * 
* (col1 integer primary key constraint col1)";                 * 
*                                                              * 
* tstCmd.ExecuteNonQuery();                                    * 
*                                                              * 
* tstCmd.CommandText = "insert into ownerprob                  * 
*                                                              * 
* (col1) values (1)";                                          * 
*                                                              * 
* tstCmd.ExecuteNonQuery();                                    * 
*                                                              * 
*                                                              * 
*                                                              * 
* Console.WriteLine("Reading using                             * 
* DB2DataReader");                                             * 
* tstCmd.CommandText = tstSQL;                                 * 
*                                                              * 
* using (DB2DataReader tstRdr =                                * 
*                                                              * 
* tstCmd.ExecuteReader())                                      * 
*                                                              * 
* {                                                            * 
*                                                              * 
* while (tstRdr.Read())                                        * 
*                                                              * 
* {                                                            * 
*                                                              * 
* Console.WriteLine("\tcol1:  {0}",                            * 
*                                                              * 
* tstRdr.GetInt32(0));                                         * 
*                                                              * 
* }                                                            * 
*                                                              * 
* }                                                            * 
*                                                              * 
*                                                              * 
*                                                              * 
* Console.WriteLine("add row using                             * 
* DataAdapter");                                               * 
* DB2DataAdapter tstDA = new                                   * 
* DB2DataAdapter(tstSQL,                                       * 
* tstConn);                                                    * 
*                                                              * 
* DataTable dt = new DataTable("ownerprob");                   * 
*                                                              * 
* tstDA.Fill(dt);                                              * 
*                                                              * 
* Console.WriteLine("\tgot rows:");                            * 
*                                                              * 
* foreach (DataRow dr in dt.Rows)                              * 
*                                                              * 
* {                                                            * 
*                                                              * 
* Console.WriteLine("\t\tcol1:  {0}",                          * 
*                                                              * 
* dr[0].ToString());                                           * 
*                                                              * 
* }                                                            * 
*                                                              * 
* dt.Rows.Add(new object[] { 2 });                             * 
*                                                              * 
* DB2CommandBuilder tstBldr = new                              * 
*                                                              * 
* DB2CommandBuilder(tstDA);                                    * 
*                                                              * 
* tstDA.InsertCommand =                                        * 
* tstBldr.GetInsertCommand();                                  * 
* tstDA.UpdateCommand =                                        * 
* tstBldr.GetUpdateCommand();                                  * 
* int rowsAffected = tstDA.Update(dt);  //                     * 
* throws                                                       * 
* exception HERE!!                                             * 
*                                                              * 
* Console.WriteLine("\trows affected:  {0}",                   * 
*                                                              * 
* rowsAffected);                                               * 
*                                                              * 
* foreach (DataRow dr in dt.Rows)                              * 
*                                                              * 
* {                                                            * 
*                                                              * 
* Console.WriteLine("\t\tcol1:  {0}",                          * 
*                                                              * 
* dr[0].ToString());                                           * 
*                                                              * 
* }                                                            * 
*                                                              * 
* }                                                            * 
*                                                              * 
* }                                                            * 
*                                                              * 
* catch (Exception e)                                          * 
*                                                              * 
* {                                                            * 
*                                                              * 
* Console.WriteLine(e.ToString());                             * 
*                                                              * 
* }                                                            * 
*                                                              * 
* finally                                                      * 
*                                                              * 
* {                                                            * 
*                                                              * 
* using (DB2Connection tstConn = new                           * 
*                                                              * 
* DB2Connection(connStr))                                      * 
*                                                              * 
* {                                                            * 
*                                                              * 
* tstConn.Open();                                              * 
*                                                              * 
* DB2Command tstCmd = tstConn.CreateCommand();                 * 
*                                                              * 
* tstCmd.CommandText = "drop table ownerprob";                 * 
*                                                              * 
* try                                                          * 
*                                                              * 
* {                                                            * 
*                                                              * 
* tstCmd.ExecuteNonQuery();                                    * 
*                                                              * 
* }                                                            * 
*                                                              * 
* catch { /* don't care */ }                                   * 
*                                                              * 
* }                                                            * 
*                                                              * 
* }                                                            * 
*                                                              * 
* }                                                            * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 LUW Version 9.7 Fix Pack 3 or greater.  The   * 
* fix for this APAR is not applicable to the version 9.8       * 
* release since the 9.8 release is available only on the AIX   * 
* and Linux platforms.                                         * 
****************************************************************
Local-Fix:
One solution to resolve the problem is to specify 
DB2CommandBuilder.QuotePrefix and DB2CommandBuilder.QuoteSuffix, 
setting both to a string containing a single quote ( QuotePrefix 
= "\""; ).  Such an action will result in all database objects 
(table owner, table names, column names, etc.) being enclosed in 
quotes and preserving the case of the table owner.
verfügbare FixPacks:
DB2 Version 9.8 Fix Pack 4 for AIX and Linux
DB2 Version 9.8 Fix Pack 5 for AIX and Linux

Lösung
Problem was first fixed in Version 9.7 Fix Pack 3.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
15.07.2010
08.08.2011
08.08.2011
Problem behoben ab folgender Versionen (IBM BugInfos)
9.7.FP3,
9.8.
Problem behoben lt. FixList in der Version
9.8.0.4 FixList