I am using an installation of Sybase ASE 15.x as my target datasource. This database is case sensitive, and the owner of all tables is ‘dbo’ with lower case.
My problem is that BODI translates all metadata to upper case, so that for BODI the owner becomes ‘DBO’, which in turn has many negative complications, for example it results in that I can not reimport tables.
Can anyone tell me how can I set up BODI to not translate metadata to upper case.
DI shouldn’t translate that. Please file a bug and in the meantime use the datastore advanced option “owner alias” to deal with it. So you create a new alias named DBO (the owner as it is in the repo) with its alias name dbo.
I faced a similar problem with MS SQL Server 2005 as my source database.
When I import the table (whose name is dbo.OppTable in SQL Server), DI imports it with the name (DBO.OPPTABLE)
When I add this Table object to the Central repository – DI creates 2 objects in the central repository with the names (DBO.OPPTABLE and dbo.OppTable)
When I compare my local datastore with Central – the comparison report says that the ‘Case Sensitivity’ property is set to ‘Yes’ in the Central and is set to ‘No’ in the Local repository.
I wanted to turn off the ‘Case Sensitivity’ property in the Data Store definition available in Central.
I checked-out ‘without replacement object’ & performed a check-in of the data store object
Even after check-in the ‘Case Sensitivity’ option is ‘turned ON’ in the data store definition available in Central Repository.
I went really crazy trying to figure out what’s going on and finally gave up
If someone can help me …with their thoughts on how to address this – I’ll really apperciate it.
what is the version of DI that you are using ? check the history of the datastore in the central repo does all the versions have the case-sensitive set to false ?
what is your local repo database type and central repo database type ?
if you import a new table, and check-in to the central, its creating 2 copies of that table one with Upper case and other with lower case ? or this for some existing tables ?
can you do a “where used” for the table in the local that is displayed in upper and lower case in central repo ? check if this table is reference in script or customer function or compare table in same case as it is displayed in datastore ?
when you are doing check-out/check-in, is the datastore connection valid at that time ?
how about other local repos, is the case-sensitive option no in those repos also ? if the history shows it as no for some versions and yes for some of them, check from which local repo this was checked-in as yes
will take a look at the code over the weekend and see whats going wrong
Yes. This behavior is seen for new table objects that I imported (and added to Central, eventually) and even for those table objects that are already existing, when I re-import, check-out and check-in them
the data flows refer to the table with All Upper case Letters in its name (ex: OPPTABLE).
But when I got a different local repository (other than mine I mean) and perform a ‘get latest from central with object and dependents’, that repository gets only one version of the table into that local repository (ex: OppTable). And after the get latest operation is complete, if I validate the data flow, it complains that the table “OPPTABLE” is missing in the data store objects…
Yes
this data store’s case sensitivity property was modified about 1.5 years back and that user is not here anymore…so I’m not sure if I can gather that user specific info right now…
but FYI: Even I was able to change that case sensitivity property of this data store in the Central (I think I was able to do it once), during the initial stages of my trouble-shooting of this problem. It’s only later on that it’s not letting me even do that.
Thanks a ton…this problem actually drove me crazy…hope this is an issue that’s fixed sooner than later
did some investigation the case-sensitive option for datastore is highly sensitive, its a read only property and is determined dynamically from the database, so when ever the datastore is modified make sure that the connection is valid
if the SQL server DB is not case sensitive, it will still store the table names in the case as entered by the user, it will not change that to upper case
I managed to reproduce the issue with 2 entries for same table in Datastore with different case
this is what I did
Create a table in SQL Server DB in mixed case
Create a DS for the SQL Server DB in DI, import the table, the tables are imported in upper case
add the DS and tables to the Central, both local and central display the table names in upper case
I am not able to reproduce the issue with case sensitive property as yes in central and no in local
so I exported the DS from the central to an ATL, changed the user name, and imported the ATL again, since connection is not valid, the DS case-sensitive property is set to yes (by default DI sets it to yes) and I can see 2 entries for the tables
but if I checkout the DS and fix the connection and check-in again, and open the Desginer again, the local and central repo both show the table names in upper case, I also tried check-out without replacement
for your DS, do you have multiple configurations ? if yes, is the default configuration for local and central repo same ? does all the configurations point to non case sensitive DB ?
can you try following
Check-out the DS without replacement
make sure the connection info is correct for DS
Check-in the DS to central
Exit Designer
Open Designer again and do a diff for the datastore is the case-sensitive option fixed ?
there is one more issue, if this property gets messed up, you will see 2 enteries for same table in AL_SCHEMA repo table in both central and local, repo, not sure what impact it will have ?
the other thing is since the DS is not case sensitive, the lower case enteries will not show up in the Designer, if someone has modified the table with lower case name then they may not get reflected in table with upper case name ?