I'am trying to migrate a native db to sql. This database has entries in different languages. DES & CSY. When i try to import the fbk file i get an error that
a Field in a Table has a value that can't be used with Microsoft Dynamics NAV Classic.
The Value is a CSY value.
The SQL-Collation is Latin1_General_100_AS_CI
I guess it's a collation problem, but which collation should i use and what are the downwards of using another collation? Do i have other options?
0
Comments
Latin1 is for most western european countries.
Use the collation that is meant to use in the customers country, otherwise you'll run into issues since NAV only allows collations that match the .stx file.
If DES/CSY requires two different collations you're basically screwed until NAV7.
@Mark
DES = German (Switherland)
CSY = Czech
Both languages are used in the database (Different Nav-Company) They work in different countries...
I don't know if different collations are needed, that's why i'am asking
i hope i'am not screwed until nav7.... thats no option!
I am sure Kamil has done this 100 times and will be able to give some better advice.
And they need to do it later on...
The problem could be from many sources, but the most likely one is that a customer name has been entered in the Native database with an invalid character. When you enter the name code converts this to upper case. Now when you convert to SQL the CP is different, so the uppercase command gives different results.
So what you do is figure out the correct collation for SQL then turn off validation of code page then import the backup. Once imported go and find where the conversions are wrong and fix it, generally a simple loop through all records validating the Description or Name field will solve a lot of these issues.
I see this a lot with LS Retail where the server is on SQL and the POSs are on Native.
so i can't "correct" the entries because they are correct...
But main point is, that when making and restoring the backup, you need to set correct language for non-unicode apps, and collation. Collation could be set per database, or per table (manually, by script). Of course, problems could be tables which are not per company... but...
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
Can you explain this further? Do i need to change Regional Settings? keyboard-layout too?
Another question: Why is it no problem to restore the he nav-backup in a native db? I haven't changed language (regional settings) and that works, but i read a lot about that scenario too and people say it doesn't work?
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
After testing we decided that Dutch should be possible with Danish collation since Dutch has not many "weird" characters.
However we ran into sorting issues which is also part of the collation.
I would setup a test environment with all options and start doing some testing. If necessairy, hire a specialist to help you.
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
Yes definitely sorting will remain an issue.
However this could be a solution, or as said, setting latin2 for only the czech company tables.
For importing the nav-backup i thought about splitting the companys too. i think i will go with that, first import all but czech and then try with the czech one and play with regional settings, to see if this helps.
If i disable collation check, import czech company, change collation of that tables to Latin2, and everthing works as expected, sorting included. are there any aditional downwards of this solution that i missed?
btw: Customer access the nav through citrix.
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
So then i'll either do it with this method and check if i can handle newly created tables (trigger? changing collation by t-sql after creation?)
Or if this is too buggy i'll go for a database split aproach, having 2 Databases should be aceptable, i hope.