OracleDataAdapter returning incorrect schema information

Hi everyone. I have a very reproducible case where the DataTable schema created by the OracleDataAdapter is incorrect. It is driving me crazy :-).
====================
OracleConnection cnn = new OracleConnection("User ID=XXX;Password=XXX;Data Source=XXX");
cnn.Open();
string strQuery = "CREATE TABLE FOO (a INT, b INT)";
OracleCommand cmdExec = new OracleCommand(strQuery, cnn);
cmdExec.ExecuteNonQuery();
OracleCommand cmdQuery = new OracleCommand("SELECT * FROM FOO", cnn);
OracleDataAdapter adp = new OracleDataAdapter(cmdQuery);
DataTable dtb = new DataTable();
adp.Fill(dtb);
Console.WriteLine("FOO has {0} columns.", dtb.Columns.Count);
for (int i = 0; i < dtb.Columns.Count; i++)
Console.WriteLine("{0}th column's name is {1}.", i, dtb.Columns[ i ].ColumnName);
cmdExec.CommandText = "DROP TABLE FOO";
cmdExec.ExecuteNonQuery();
cmdExec.CommandText = "CREATE TABLE FOO (c INT, d INT, e INT)";
cmdExec.ExecuteNonQuery();
dtb = new DataTable();
adp.Fill(dtb);
Console.WriteLine("FOO has {0} columns.", dtb.Columns.Count);
for (int i = 0; i < dtb.Columns.Count; i++)
Console.WriteLine("{0}th column's name is {1}.", i, dtb.Columns[ i ].ColumnName);
cnn.Close();
Console.ReadLine();
=============================
The console output is:
FOO has 2 columns.
0th column's name is A
1th column's name is B
FOO has 2 columns.
0th column's name is A
1th column's name is B
But it should be:
FOO has 3 columns.
0th column's name is C
1th column's name is D
2th column's name is E
for the second iteration.
What should I do?
-- Matt

I agree with the earlier comment stating '...that the caching is happening inside of the ODP layer rather than a lower layer such as OCI. It looks like the caching is occurring in the m_metaData member of the OracleCommand...'.
It looks like all of the caching is indeed taking place in ODP. However there is in fact two levels of cache taking place in your particular example - at the OracleCommand level but also deep inside ODP.Net there is a static MetaData class which has a private member m_pooler that maintains a metadata cache on a per connection basis. Basically even if the OracleCommand object entry m_metaData is reset values still appear inside the internal pool and so there need to be removed too - this cache is indexed initially through a hash of the connection details and then statement text. This is why even a new OracleCommand object but with same statement text on same connection also returns incorrect information.
Within the OracleReader implementations various calls are made to MetaData.Pooler.Get.. calls to retrieve cached information.
I came across a similar problem (not identical) because we are using the 'alter session set current schema...' command and this causes some problems.
Basically it appears a base assumption has been made that the definition of object will not change at runtime (which you can understand) but in my case it is possible that 'select * from emp' say could be execute from the same connection but relate to different objects because name resolution has been adjust using the 'alter session...' command which is a big problem.
I have written some helper routines which enable the internal caches to be 'managed' although it uses some nasty reflection to accomplish this (using private members directly!). It work successfully in my case and I have done a quick change to your example code (added a single call) and it now works, i.e.
cmdExec.CommandText = "CREATE TABLE FOO (c INT, d INT, e INT)";
cmdExec.ExecuteNonQuery();
OracleMetaDataRemover.Remove(cmdQuery, true);
dtb = new DataTable();
adp.Fill(dtb);
If you use the Remove method above and change true to false you will still receive the problem because although the Command has been cleared the details still remain centrally.
The code which accessed above I include below as is (coded for Oracle 10.1.0.3.01 ODP - it may work on other releases but note this could break in future). Ideally methods are required within ODP to allow cleardown/control of this.
using System;
using System.Reflection;
using System.Collections;
using Oracle.DataAccess.Client;
namespace Oracle.DBUtilities
     /// <summary>
     /// Summary description for OracleMetaDataPoolerCleaner.
     /// </summary>
     public class OracleMetaDataPoolerCleaner
          private static string OracleAssemblyShortName = "Oracle.DataAccess";
          private static string OracleMDType = "Oracle.DataAccess.Client.MetaData";
          private static string OraclePoolerType = "Oracle.DataAccess.Client.Pooler";
          // Fast access pointer to internal hash of information
          private Hashtable PooledItems = null;
          private static OracleMetaDataPoolerCleaner _oracleMetaDataPoolerCleanerInstance = null;
          static readonly object _syncRoot = new object();
          private OracleMetaDataPoolerCleaner()
               Assembly OracleDataAccess = null;
               // Get hold of the Oracle Data Access assembly
               Assembly[] LoadedAssemblyList = AppDomain.CurrentDomain.GetAssemblies();
               for(int i=0; i<LoadedAssemblyList.Length && OracleDataAccess == null; i++)
                    Assembly LoadedAssembly = LoadedAssemblyList;
                    string[] AssemblyNameDetails = LoadedAssembly.FullName.Split(',');
                    if (AssemblyNameDetails[0] == OracleMetaDataPoolerCleaner.OracleAssemblyShortName)
                         OracleDataAccess = LoadedAssembly;
               // Make sure located details
               if (OracleDataAccess != null)
                    // Get access to the MetaData cache details
                    Type OracleMetaData = OracleDataAccess.GetType(OracleMetaDataPoolerCleaner.OracleMDType);
                    if (OracleMetaData != null)
                         // Retrieve static pool item
                         FieldInfo f_Pooler = OracleMetaData.GetField("m_pooler", BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static);
                         if (f_Pooler != null)
                              // As we cannot get direct access to the object type assume it is OK
                              object pa = f_Pooler.GetValue(null);
                              if (pa != null)
                                   Type OraclePooler = OracleDataAccess.GetType(OracleMetaDataPoolerCleaner.OraclePoolerType);
                                   if (OraclePooler != null)
                                        FieldInfo f_Pools = OraclePooler.GetField("Pools", BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static);
                                        PooledItems = f_Pools.GetValue(pa) as Hashtable;
                                        if (PooledItems == null)
                                             throw new InvalidOperationException("Unable to initialise metadata cache access...");
          public static OracleMetaDataPoolerCleaner Instance()
               // Make single copy of this item ready for use
               if (_oracleMetaDataPoolerCleanerInstance == null)
                    // Thread safe locking and initialisation - 'double-checked lock'
                    lock(_syncRoot)
                         if (_oracleMetaDataPoolerCleanerInstance == null)
                              _oracleMetaDataPoolerCleanerInstance = new OracleMetaDataPoolerCleaner();
               return _oracleMetaDataPoolerCleanerInstance;
          /// <summary>
          /// Using reflection the process determines the command text
          /// contents of the specified OracleCommand
          /// Note this could simply have been delegated through to the
          /// OracleConnection version using OCommand.Connection
          /// </summary>
          /// <param name="OCommand">OracleCommand object containing command to be retrieved</param>
          /// <returns>Command string located</returns>
          public static string CommandText(OracleCommand OCommand)
               string OracleCommandCommandText = null;
               // Using reflection get direct access to the 'private' member details..
               Type TypeOracleCommand = OCommand.GetType();
               FieldInfo FieldInfoCommandText = TypeOracleCommand.GetField("m_commandText", BindingFlags.NonPublic|BindingFlags.Instance);
               if (FieldInfoCommandText != null)
                    OracleCommandCommandText = FieldInfoCommandText.GetValue(OCommand).ToString();
               return OracleCommandCommandText;
          /// <summary>
          /// Using reflection the process determines the command text
          /// contents of the specified OracleCommand
          /// </summary>
          /// <param name="OReader">OracleDataReader object containing command to be retrieved</param>
          /// <returns>CommandString located</returns>
          public static string CommandText(OracleDataReader OReader)
               string OracleDataReaderCommandText = null;
               // Using reflection get direct access to the 'private' member details..
               Type TypeOracleDataReader = OReader.GetType();
               FieldInfo FieldInfoCommandText = TypeOracleDataReader.GetField("m_commandText", BindingFlags.NonPublic|BindingFlags.Instance);
               if (FieldInfoCommandText != null)
                    OracleDataReaderCommandText = FieldInfoCommandText.GetValue(OReader).ToString();
               return OracleDataReaderCommandText;
          /// <summary>
          /// Using reflection the process determines the hashvalue
          /// specified OracleConnection
          /// </summary>
          /// <param name="OConnection">OracleConnection for which the HashCode is to be retrieved</param>
          /// <returns>HashValue located or -1</returns>
          public static int ConnectionStringHashValue(OracleConnection OConnection)
               int HashValue = -1;
               // Using the Oracle Connection retrieve the hashvalue associated
               // with this connection
               if (OConnection != null)
                    Type TypeOracleConnection = OConnection.GetType();
                    FieldInfo f_ConStrHashCode = TypeOracleConnection.GetField("m_conStrHashCode", BindingFlags.NonPublic|BindingFlags.Instance);
                    if (f_ConStrHashCode != null)
                         HashValue = Int32.Parse(f_ConStrHashCode.GetValue(OConnection).ToString());
               return HashValue;
          /// <summary>
          /// Using reflection the process determines the hashvalue
          /// specified OracleDataReader
          /// </summary>
          /// <param name="OReader">OracleDataReader for which the associated connection HashValue is to be located</param>
          /// <returns>HashValue located or -1</returns>
          public static int ConnectionStringHashValue(OracleDataReader OReader)
               int HashValue = -1;
               // Using reflection get direct access to the 'private' member details..
               Type TypeOracleDataReader = OReader.GetType();
               FieldInfo f_OraConnection = TypeOracleDataReader.GetField("m_connection", BindingFlags.NonPublic|BindingFlags.Instance);
               // Ensure have access to a connection and retrieve has information
               if (f_OraConnection != null)
                    OracleConnection ConnectionValue = f_OraConnection.GetValue(OReader) as OracleConnection;
                    HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(ConnectionValue);
               // Return the hashvalue information located
               return HashValue;
          /// <summary>
          /// Using reflection the process determines the hashvalue
          /// specified OracleCommand
          /// Note this could simply have been delegated through to the
          /// OracleConnection version using OCommand.Connection
          /// </summary>
          /// <param name="OCommand">OracleCommand for which the associated connection HashValue is to be located</param>
          /// <returns>HashValue located or -1</returns>
          public static int ConnectionStringHashValue(OracleCommand OCommand)
               int HashValue = -1;
               // Using reflection get direct access to the 'private' member details..
               Type TypeOracleCommand = OCommand.GetType();
               FieldInfo f_OraConnection = TypeOracleCommand.GetField("m_connection", BindingFlags.NonPublic|BindingFlags.Instance);
               // Ensure have access to a connection and retrieve has information
               if (f_OraConnection != null)
                    OracleConnection ConnectionValue = f_OraConnection.GetValue(OCommand) as OracleConnection;
                    HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(ConnectionValue);
               // Return the hashvalue information located
               return HashValue;
          /// <summary>
          /// Using the supplied OracleDataReader internal calls are made
          /// to determine the ConnectionHash and CommandText details which will
          /// then be used to remove the item
          /// </summary>
          /// <param name="OReader">OracleDataReader to be probed to obtain information</param>
          /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
          public bool Remove(OracleDataReader OReader)
               bool Removed = false;
               // Lookup the ConnectionStringHashDetails
               int HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(OReader);
               if (HashValue != -1)
                    // Lookup the command text and remove details
                    string CommandText = OracleMetaDataPoolerCleaner.CommandText(OReader);
                    // Attempt to remove from the cache
                    Removed = this.Remove(HashValue, CommandText);
               return Removed;
          /// <summary>
          /// Using the supplied OracleCommand internal calls are made
          /// to delegate the call to the OracleConnection version
          /// </summary>
          /// <param name="OCommand">OracleCommand to be probed to obtain information</param>
          /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
          public bool Remove(OracleCommand OCommand)
               // Call into internal other routine
               return this.Remove(OCommand.Connection, OCommand.CommandText);
          /// <summary>
          /// Using the supplied OracleConnection internal calls are made
          /// to determine the ConnectionHash and it uses CommandText details
          /// to remove the item
          /// </summary>
          /// <param name="OConnection">OracleConnection from which the cache object should be removed</param>
          /// <param name="CommandText">CommandText to be removed</param>
          /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
          public bool Remove(OracleConnection OConnection, string CommandText)
               bool Removed = false;
               // Lookup the ConnectionStringHashDetails
               int HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(OConnection);
               if (HashValue != -1)
                    // Attempt to remove from the cache
                    Removed = this.Remove(HashValue, CommandText);
               return Removed;
          /// <summary>
          /// Routine actually removes the items from the cache if it exists
          /// </summary>
          /// <param name="ConnectionHashValue">ConnectionHash which is used to key into the Pooled items</param>
          /// <param name="CommandText">CommandText to be removed</param>
          /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
          private bool Remove(int ConnectionHashValue, string CommandText)
               bool Removed = true;
               // Retrieve Pooled items for particular hash value
               Hashtable PoolContents = PooledItems[ConnectionHashValue] as Hashtable;
               // Remove item if it is contained
               if (PoolContents.ContainsKey(CommandText))
                    PoolContents.Remove(CommandText);
                    Removed = true;
               return Removed;
     /// <summary>
     /// Summary description for OracleMetaDataRemover.
     /// </summary>
     public class OracleMetaDataRemover
          private OracleMetaDataRemover()
          /// <summary>
          /// Routine which Removes MetaData associated with OracleCommand object
          /// </summary>
          /// <param name="OCommand">OracleCommand to have associated MetaData removed</param>
          /// <returns>Indicates whether the MetaData associated with the OracleCommand was reset</returns>
          public static bool Remove(OracleCommand OCommand)
               bool Removed = false;
               // Retrieve current MetaData values from OCommand
               Type OracleCommandMetaData = OCommand.GetType();
               FieldInfo f_metaData = OracleCommandMetaData.GetField("m_metaData", BindingFlags.NonPublic|BindingFlags.Instance);
               if (f_metaData != null)
                    f_metaData.SetValue(OCommand, null);
                    Removed = true;
               // Indicate Removed from OCommand object
               return Removed;
          /// <summary>
          /// Routine which Removes MetaData associated with OracleCommand object
          /// and allows for the removal of information from the internal cache
          /// </summary>
          /// <param name="OCommand">OracleCommand to have associated MetaData removed</param>
          /// <param name="RemoveFromMetaDataPool">Whether item should be removed from the internal metadata pool too</param></param>
          /// <returns>Indicates whether the MetaData associated with the OracleCommand was reset</returns>
          public static bool Remove(OracleCommand OCommand, bool RemoveFromMetaDataPool)
               bool Removed = false;
               // Remove details from Command
               Removed = Remove(OCommand);
               if (Removed && RemoveFromMetaDataPool)
                    // Remove information form internal cache
                    Removed = OracleMetaDataPoolerCleaner.Instance().Remove(OCommand);
               // Indicated Removed from OCommand and Internal MetaData collection
               return Removed;

Similar Messages

  • Ad hoc Risk Analysis report is returning incorrect Risk Level for some Risks

    We are running GRC AC 10.0 with SP 16.  After application of Support Pack 16, some of our ad hoc risk analysis reports are returning incorrect risk levels.  For example:  Risk F024 Open closed periods and inappropriately post currency or tax entries is set as High.  When the Ad hoc report is run, the risk F024 will show on a user with a level of Medium.  We have generated our ruleset and have followed the normal procedures used to implement the support pack.  Any ideas what is causing this issue?  I have exhausted my knowledge and search attempts.
    Any help is appreciated.
    Sara B.

    Hi Kevin
    Many thanks for your post, we did run a full BRA but no luck unfortunately. Some Risks still reporting as Medium when they should be Critical or High. Oddly it is reporting correctly against some risks just not for all!
    Cheers
    Hussain

  • Creative Zen (16GB Model) showing incorrect song information

    <Creative Zen (6GB Model) showing incorrect song information I was given a Creative Zen for christmas, and I'm very happy with it.
    The only thing is, I've noticed that it seems to occasionally display the wrong title for the song it's playing. I have a playlist called RandomAll which I created using the Media Explorer software. Sometimes, when I look down at the player, I'll notice the wrong song information on screen. Not just the title or anything, but completely wrong information. For example, right now, my player is telling my that a Rihanna song is playing, and gives me all the details for that song (including the extended details if I go into the menu). But the song that's actually playing is a cover of Fraggle Rock by Me First & The Gimme Gimmes. It doesn't seem to be the same songs every time or anything like that, so I don't think it's a problem with the files.
    Is this an issue that has been noticed by anyone else? Is there anything I can do to fix it's And if not, is it the kind of thing I need to send my player back for?

    @ It could be incorrect ID3 tags on your .mp3s, if the source for your music had the wrong ID3 information, your Zen won't show the correct information unless you use an? ID3 Tag Editor to correct the source.

  • Could not find schema information for the attribute 'filename'

    Can anyone help me.
    I download the VB.NET sample source and try to run the application and got this error.
    "Could not find schema information for the attribute 'filename'"
    and
    "Could not find schema information for the attribute 'url'"
    and
    "Custom tool warning:Schema validation warning:Schema item 'element' named 'AccountWS_AccountUpate_Input' from namespace 'urn:crmondemand/ws/account/' is invalid. Namespace 'urn:/crmondemand/xml/account' is not available to be referenced in this schema"
    Thanks
    Pitiporn

    Are these errors or warnings? If warnings, you should be able to just ignore them.

  • Warning Messages - Could not find schema information for the element applicationSettings - App.Config of a console app

    This is my app.config file
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
                <section name="IntelBrandFX.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
            </sectionGroup>
        </configSections>
      <appSettings>
        <add key="connStr" value="Data Source=tmvnasql1.tmvn.com;Initial Catalog=brandplan;Integrated Security=True"/>
      </appSettings>
      <applicationSettings>
        <IntelBrandFX.Properties.Settings>
          <setting name="IntelBrandFX_rollupViewerService_extract" serializeAs="String">
            <value>https://viewer.rollup.com/omdsp2008/extract.asmx</value>
          </setting>
        </IntelBrandFX.Properties.Settings>
      </applicationSettings>
    </configuration>
    And the Warning messages  are
    Message 1 Could not find schema information for the element 'applicationSettings'.
    Message 2 Could not find schema information for the element 'IntelBrandFX.Properties.Settings'.
    Message 3 Could not find schema information for the element 'setting'.
    Message 4 Could not find schema information for the attribute 'name'.
    Message 5 Could not find schema information for the attribute 'serializeAs'.
    Message 6 Could not find schema information for the element 'value'.
    Althought they do no hinder me from successfully running the project. these messages are annoying. I have seen many articles on the web but could nowhere find the exact schemas for that the above elements that I could add to the  DotNetConfig.xsd file.
    Could somebody give me an idea how to create xsds for the elements above and include in the dotnetConfig.xsd.
    I understand what needs to be done but not sure of the exact way to do it.
    Thanks,

    You don't need to modify the dotnetconfig.xsd.  All you need to do is generate an XSD for your section and let VS know where it is at.
    1) Create your XSD using any of the various tools available or by hand.
    2) Copy your XSD into the <VSDir>\Xml\Schemas directory.
    3) Create a catalog file for your schema.
    4) Restart VS and it'll load the XSD and give you Intellisense.
    Here's the MSDN documentation for it: http://msdn.microsoft.com/en-us/library/ms255821.aspx
    Michael Taylor - 8/18/09
    http://p3net.mvps.org

  • Macbook pro shows incorrect storage information on SSD.

    I am using a macbook pro. The storage information is shown wrongly. Control I shows the correct information but finder and space bar on the hard disk show incorrect storage information. Used space is actually 122 GB which is shown as 140 GB. Even omnidiskkeeper shows the breakup of 122 GB but the storage information summary shows 140GB.

       Re-index Macintosh HD.
       Spotlight reindexing will take a while to finish.
       System Preferences > Spotlight > Privacy
       http://support.apple.com/kb/ht2409

  • Synchonous webservice call is missing xml schema information

    Hello,
    We migrated an interface to a new PI server. All repository objects were exported and imported. The interfaces is working fine on old PI environment but on new environment we get an error:
    From an Integration Process we do a call to a synchronous webservice via a soap receiver communication channel.
    In the old envrionment we get response back with right message content and:
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    In the new environment we get response back with right message content but without:
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    The first message mapping needs this XMLSchema information and throws an error:
    RuntimeException
    during appliction Java mapping
    com/sap/xi/tf/_______
    Thrown:
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: The prefix
    "xsi" for attribute "xsi:type" associated with an element
    type "ns0:responseOut" is not bound.
    I expect this error is thrown because this XMLSchema information is missing in webservice response:
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    Does anybody know why this information could be missing?
    I also used SOAP UI from the new PI server to call same synchronous webservice and then I do get this XML Schema information back.
    Many thanks for your help!

    Hi ,
    Go through below links for sol.
    PI 7.11: Prefix for attribute is bound
    &amp;lt;element xsi:type=&quot;T3&quot; attribute=&quot;USD&quot;&amp;gt;1.... | SCN
    Regards
    Venkat

  • DM 3.0.0.665 / Can't delete schema information from PK in relational model

    I’m trying to erase schema infromation from primary keys in relational mode by opening Primary Key Properties window and selecting the empty line from “Schema” pull down menu. When I click OK I get the following: "There is a Foreign Key on this Key. The status cold be PK or UK only". I didn’t change anything else, only tried to clear the schema information. This does not happen with every primary key, only some of them, but I haven’t figured out how they differ from each other.
    I managed to clear schema information from some primary keys by deleting the schemaObject tag from the xml file. But I still have few primary keys left that didn’t have the schemaObject tag in xml and still have schema name in Primary Key Properties, and I’m not able to choose empty from the Schema pull down menu

    Hi,
    Thanks. I logged a bug on this. It looks like the problem is occurring if there is a Foreign Key relationship to the Table with the PK.
    David

  • Remove schema information

    Hi,
    I'm using "Crystal Reports for Visual Studio" version 13.0.13.1597 with C#/.Net 4.5. I'm connection to an Oracle database and I'm searching for a way to remove the schema information of the report.
    Scenario:
    We create reports for customers using our development database (schema "X"). Apparently Crystal Reports stores this information and when the SQL is generated, the tables are fully qualified, eg. "X.CUSTOMERS" as "CUSTOMERS". This is kind of an issue because we have several databases for testing (with the same database tables, views, etc, but different data). When we start our application we can specify start parameters to tell the application to which database (read: schema) it should connect, e.g. "TestDB1", "TestDB2", etc. The report connects to the desired database (via 3713954 - Changing server/database of a report in code), but of course it now should use the tables of that schema, not "X" which was used when creating the report.
    I found 3713954 - Overridden Qualified Table Name issue which sounds like a similar request, but it's quite old and the outcome is not applicable for my scenario. I've already experimented with CrystalDecisions.CrystalReports.Engine.Table.Location, but without success (also, setting location always performs a "VerifyDatabase", so it's pretty slow)
    I guess what I'd actually like to set is CrystalDecisions.CrystalReports.Engine.Table.RasTable.QualifiedName, but the "RasTable" is not publicly accessible.
    Any suggestions are welcome.
    Thanks,
    Markus

    Hi Markus,
    Removing the Schema caused all sorts of table and security issues, if someone else has access to a table with the same name the DB server may simply use it because that was the first one found.
    So CR must have a a schema to fully qualify the connection.
    Search for "replaceconnection" and you should find sample on how to use it. One of the properties is to DoNotVerify, so as long as the DB's are identical CR should not call the verify.
    Don

  • Schema information was not read from MDS Repository

    Hi All,
    When running the SCA Components and reading the schemas information, we are facing issues, like....
    " Schema information was not read from MDS Repository " and the instances are getting failed.
    this is not happending that regularly, but when checked the network connection, it seems to be fine.
    any thoughts ? .
    thanks in advance
    anvv sharma.

    How are you checking the network connection stability ?
    There may be some fluctuation in network, during that time the network connection may had lost for a fraction of second.
    Thanks,
    Vijay

  • Using Project Settings creates an app.config and dozens of errors about "Could not find schema information for the element...

    I am trying to work with Application settings.  I would just like to put together a very simple example of using these, but I can't get the most basic example to work.  Virtually every tag regarding the new Settings produces an Error "Could not find the schema information for the element "applicationSettings". or the element "Settings" etc. etc.  I am not using IIS, this is not a Web Project, and I am not working with User Settings.  Just simple read-only Application Settings.  I've read every MSDN page regarding this subject, I don't see that I am missing a reference - HELP !!!
    REPRODUCING THE PROBLEM:
    Step 1. Create a new C# solution and Windows Forms project. 
    Step 2. Add a reference to System.configuration
    Step 3. Right click the project, choose Properties, then Settings.
    Step 4. Using the Settings Designer, create ONE setting called "MySetting" as a String with the value "MyValue".
    RESULT: Observe the Errors like these, complaining about all of the Settings tags and elements.
    Message 1 Could not find schema information for the element 'applicationSettings'. 
    Message 2 Could not find schema information for the element 'LoadOriginalLists.Properties.Settings'. 
    Message 3 Could not find schema information for the element 'setting'. 
     HERE IS MY APP.CONFIG, AS GENERATED BY THE SETTING DESIGNER TOOL:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
    <section name="LoadOriginalLists.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
    </configSections>
    <applicationSettings>
    <LoadOriginalLists.Properties.Settings>
    <setting name="MySetting" serializeAs="String">
    <value>MyValue</value>
    </setting>
    </LoadOriginalLists.Properties.Settings>
    </applicationSettings>
    </configuration>

    Ummmm... okay so these are Messages that are in the Error List.  Whether or not they are actually Errors is debatable.  They are in the Error List, so they are errors. 
    The application runs, so my question is slightly changed to the following.
    I would like to use Application Settings.  However, having settings in my app.config pollutes my Error List with a bunch of meaningless messages like "Could not find the schema information for...".  These messages then hide real errors. 
    Am I missing some setting or is there something I can do to make Visual Studio not show me these messages? 

  • CL_ABAP_ELEMDESCR returns incorrect help_id for dobj types

    If runtime type services are used to retrieve the help_id of a dobj type (dbtab-field), the data element type is returned instead of the type dbtab-field. The describe statement provides a work-around since it works correctly, but data objects created from the data descriptor lose the information completely. Also, GET_DDIC_OBJECT seems to return the wrong information in the TABNAME and FIELDNAME fields.
    Can anyone tell me if I am just missing something?
    e.g.
    *Use describe statement to find the help_id.
    data foo like T100-ARBGB.
    data descHelpID type string.
    describe field foo HELP-ID descHelpID.
    *Now we use RTTS to find the help_id.
    data elemDescr type ref to CL_ABAP_ELEMDESCR.
    data rttsHelpID type string.
    data myX031L type standard table of X031L.
    elemDescr ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA( foo ).
    rttsHelpID = elemDescr->help_id.
    if elemDescr->IS_DDIC_TYPE( ) = abap_True.
    myX031L = elemDescr->GET_DDIC_OBJECT( ).
    endif.
    write: / `help_id via describe: `, descHelpID.
    write: / `help_id via RTTS: `, rttsHelpID.
    break-point.

    the DESCRIBE statement does not give exactly the help-id, it gives the definition of field in form TABNAME-FIELDNAME
    for class CL_ABAP_ELEMDESCR, I agree to say that HELP-ID attribute is not very useful !
    in fact help-ids can be found in table DD04L for elements and in DD35L for fields of a table - those are the only reliable sources for this piece of information !

  • CAS Server Returned in Autodiscovery Information

    Hi,
    I’m in the process of designing a new Exchange 2013 implementation for our business and I’m trying to get my head around something that I’m hoping someone here may be able to clarify for me.
    My design will consist of multiple AD sites with a single CAS and MBX (collocated) in each. In regards to autodiscovery process I understand that the autodiscovery site scope parameter will/should point Outlook to a local CAS to retrieve the autodiscover
    information. However the bit I don’t understand is what CAS server/s will be returned in the autodiscovery information (XML) that Outlook will then use to connect to. Will it be a local (site where Outlook client is located) CAS server?
    Please note the InternalURL for the CAS servers will be their FQDN, there is no plan to use high availability for the CAS servers.
    Thanks,
    Ben

    Hi Winnie,
    Thanks for your reply and your description on how Autodiscovery works.
    I understand how Outlook connects to the Autodiscovery service, though the piece of information that I was after was in relation to WHAT information is returned in the XML file to Outlook. I presume that the URLs for all CAS’s are returned regardless of
    what AD site they (CAS) are located at? If so then how does Outlook know which CAS server to connect to when it wants to talk to the mailbox server?
    Thanks,
    Ben
    Hi,
    Based on my knowledge, when the Autodiscover service connect to a CAS server successfully, an HTTPS response with an XML file would be returned. It includes the connection settings and URLs for the available Exchange services. Outlook uses the appropriate
    configuration information and connection settings to connect to your Exchange messaging environment.
    Generally, the Autodiscover service returns the following information to the client:
    1. The user’s display name
    2. Separate connection settings for internal and external connectivity
    3. The location of the user’s Mailbox server
    4. The URLs for various Outlook features that govern functionality such as free/busy information, Unified Messaging, and the offline address book
    5. Outlook Anywhere server settings
    For example, if the user in Site1 setup the Exchange account in Outlook. The Outlook would connect to CAS1 with Autodiscover service and retrieve all other services settings from CAS1 instead of CAS2 in Site2. When this user sends a service
    request, the autodiscover would return service URL from CAS1. CAS1 will proxy the request to the local Exchange 2013 Mailbox server.
    Regards,
    Winnie Liang
    TechNet Community Support

  • MAGIC_CHECK returned incorrect for C$SEQ_CLIENTS

    Hi,
    Im getting "MAGIC_CHECK returned incorrect for C$SEQ_CLIENTS" while sync with the server.
    (Lite 10g)
    This happens only for one client and rest are working fine.
    Any help is apprciated.
    Thanks

    should not need to rebuild the client
    are you sure that the username/password are exactly the same as on the server? server url correct?
    do you see anything in the mobile manager sync history (should get a sync record with a blank user name if it has managed to contact the server) if not making contact then perhaps there is a conflict with the user the client was set up for - check concli>c$client_preferences. will not be able to see the password, but should see the user name and server url (this is where it gets the defaults from for msyc)

  • Pkg tool return package detail information

    I got a UltraSparc enterprise 2 server. When I try to reinstall solaris 8 on it. I found it is very hard to manage pkg information.
    I get a lots of experience with Red Hat Linux system. RPM can return a detail information such as: installed files name and location by using rpm -ql <package name>.
    When I try to get similar result from PKG tool from solaris by using pkginfo -l <package name>, I only got some high level information about that package, no any details.
    So could any body tell me how I can get installed file's name and location in the system?
    Best regards

    Check this file
    more /var/sadm/install/contents
    Senthilkumar

Maybe you are looking for

  • Service Master Key could not be decrypted using one of its encryptions. See sys.key_encryptions for details.

    html,body{padding:0;margin:0;font-family:Verdana,Geneva,sans-serif;background:#fff;}html{font-size:100%}body{font-size:.75em;line-height:1.5;padding-top:1px;margin-top:-1px;}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em}h3{font-size:1.16em}h4{fo

  • UnitOfWorkChangeSet and deleted objects

    I would like use the UnitOfWorkChangeSet for auditing changes made to the objects. It seams that the UnitOfWorkChangeSet contains new objects and updated objects, but I cannot find deleted objects. The function UnitOfWorkChangeSet.getDeletedObjects a

  • ITunes Helper is not running

    For some reason my new iPod Touch was having problems registering. It finally registered but it has named my info "owner" instead of my actual name which all my other iPods were named under. Does this have anything to do with iTunes helper not workin

  • BADI to uncheck Invoice indicator and set net price as 0 while creating PO

    Hi all, Is there any BADI to uncheck the Invoice indicator and set the net price as "0" while creating Purchase order? Im creating Purchase order in SRM and for certain vendor and material group net price should be set to zero and invoice receipt to

  • Adobe Story Vanished

    I cannot find Adobe story on my laptop.  Can I re- download it?  I am worried why i cant find it as i used it on this laptop a few months ago. I see Adobe Story Plus in the download Center but i dont want to collaborate and pay for all that. I just w