Skip to main content

MSS driver and capital tabelname

  • November 18, 2020
  • 4 replies
  • 0 views

Hello,


We are planning to migrate from SYBASE to MSS. In Sybase we have multiple databases which are actually 1 database. They are more sort of schema.

Example we have loans in the database LNNG with table name e_lening But also we have customers in the database HYBO, table name e_klant in the asn we all fix this.


But now for MMS we want to make 2 schema's LNNG and HYBO (also Uniface models are called LNNG and HYBO)

So the select wil be:

select nr_lnng from LNNG.e_lening

select nr_klnt from HYBO.e_klant

But Uniface translate this to:

select nr_lnng from lnng.e_lening


In the asn file we have

$LNNG = mss: etc etc

LNNG    $LNNG:LNNG. *.*


How to solve this? We can set is in lower or in uppercase but not like this...


Regards


Paul Koldijk


4 replies

Burak Yuksel
  • Rocketeer
  • November 18, 2020

Hello,


We are planning to migrate from SYBASE to MSS. In Sybase we have multiple databases which are actually 1 database. They are more sort of schema.

Example we have loans in the database LNNG with table name e_lening But also we have customers in the database HYBO, table name e_klant in the asn we all fix this.


But now for MMS we want to make 2 schema's LNNG and HYBO (also Uniface models are called LNNG and HYBO)

So the select wil be:

select nr_lnng from LNNG.e_lening

select nr_klnt from HYBO.e_klant

But Uniface translate this to:

select nr_lnng from lnng.e_lening


In the asn file we have

$LNNG = mss: etc etc

LNNG    $LNNG:LNNG. *.*


How to solve this? We can set is in lower or in uppercase but not like this...


Regards


Paul Koldijk


Hi Paul

I think you are looking MSS Connector option "entity names". 

Keep in mind it should be used together with "identifiers" option. 

Please see details in documentation:

Best regards

Burak


Ingo Stiller
Forum|alt.badge.img+3
  • Participating Frequently
  • November 18, 2020

Hello,


We are planning to migrate from SYBASE to MSS. In Sybase we have multiple databases which are actually 1 database. They are more sort of schema.

Example we have loans in the database LNNG with table name e_lening But also we have customers in the database HYBO, table name e_klant in the asn we all fix this.


But now for MMS we want to make 2 schema's LNNG and HYBO (also Uniface models are called LNNG and HYBO)

So the select wil be:

select nr_lnng from LNNG.e_lening

select nr_klnt from HYBO.e_klant

But Uniface translate this to:

select nr_lnng from lnng.e_lening


In the asn file we have

$LNNG = mss: etc etc

LNNG    $LNNG:LNNG. *.*


How to solve this? We can set is in lower or in uppercase but not like this...


Regards


Paul Koldijk


Hi Paul

MS-SQL is (normaly) case insensitive, so a object "LNNG" is the same then "lnng"

Regards Ingo


Burak Yuksel
  • Rocketeer
  • November 18, 2020

Hi Paul

I think you are looking MSS Connector option "entity names". 

Keep in mind it should be used together with "identifiers" option. 

Please see details in documentation:

Best regards

Burak

Hi 

I did more tests with "entity names" and "identifiers" MSS Connector options. 

With options: 

[DRIVER_SETTINGS]
MSS U5.0
USYS$MSS_PARAMS = isolation=read uncommitted, entity names=upper, identifiers=quoted

Below log created by Uniface:

select [KEYFIELD],[FIELD]
from [UENTDB_1]

Without these options: 

[DRIVER_SETTINGS]
MSS U5.0
USYS$MSS_PARAMS = isolation=read uncommitted

Below log created by Uniface:

With these options:

select keyfield,field
from uentdb_2

One more remark, even if a table created with these options, when you return back to use without these options, below statement executed: 

select keyfield,field
from uentdb_1

And you get correct data from correct table. 

You can see MSS tables have been created below:

I hope this is helpful for you. 

Best regards

Burak


  • Author
  • New Participant
  • December 7, 2020

Hello,


We are planning to migrate from SYBASE to MSS. In Sybase we have multiple databases which are actually 1 database. They are more sort of schema.

Example we have loans in the database LNNG with table name e_lening But also we have customers in the database HYBO, table name e_klant in the asn we all fix this.


But now for MMS we want to make 2 schema's LNNG and HYBO (also Uniface models are called LNNG and HYBO)

So the select wil be:

select nr_lnng from LNNG.e_lening

select nr_klnt from HYBO.e_klant

But Uniface translate this to:

select nr_lnng from lnng.e_lening


In the asn file we have

$LNNG = mss: etc etc

LNNG    $LNNG:LNNG. *.*


How to solve this? We can set is in lower or in uppercase but not like this...


Regards


Paul Koldijk


Hello,


We tried that. And there are 2 options then:
select field from .e_lening
or
SELECT FIELD FROM LNNG.E_LENING
We want:
select field from LNNG.e_lening
We don't want to make the database case insensitive.

Because select * from e_lening where code = 'A' is something different then sel* from e_lening where code = 'a'