4

I'm working on migrating Sybase ASE 15.7 SP134 database to SQL Server 2008R2, using SSMA for Sybase 2014.

I'm facing an issue where a table in SybaseDB has 2 columns with the data type TEXT. The SQL Server table with datatype "text" is mismatching on Japanese data characters.

Questions are:

  1. How can we keep same text as Sybase while migrating data?

  2. How to keep Non-ASCII characters as it is during migration?

Please comment if more information can be provided.

  • What is the data type on sql server side ? Can it be changed to nvarchar(max) to allow storing unicode or special chars ? – Kin Shah Sep 27 '17 at 15:15
  • SQL Server side data type is also TEXT type. We are not able to change datatype to nvarchar(max) immediately. – Im88 Sep 27 '17 at 15:50
3

Your best bet is to change the default datatype mapping in SSMA to NVARCHAR for sqlserver since the default mapping for text is nvarchar.

Make sure to save the settings... Choose Tools, Project Settings, Type Mapping from the menu.

See https://blogs.msdn.microsoft.com/ssma/2011/03/06/access-to-sql-server-migration-understanding-data-type-conversions

  • 1
    From what I can tell, your answer is telling them to do what's already happening, no? SQL Server is using a TEXT column, and OP is losing Japanese Unicode characters going from Sybase to SQL Server? But hey, I've been wrong about weirder things. – Erik Darling Sep 27 '17 at 18:15
  • Erik .. I vaugely remember the default mapping, but if it is changes to nvarchar .. it should help as opposed to default. I dont have access, but OP can test it.. if OP confirms that it does not work .. i will delete the answer...i posted as answer since it is longer than comment. – Kin Shah Sep 27 '17 at 18:20
  • Thank you sp_BlitzErik and @Kin I will perform some testings suggested and get back to you. Thank You again for quick help. – Im88 Sep 27 '17 at 19:21
5
  1. Stop using text data types -- they're long deprecated. If you need to, use NTEXT instead to preserve Unicode characters. But that's not a great idea.

  2. Do the smart thing and use NVARCHAR(MAX) instead, because that's not deprecated, and will handle your Unicode long text data just fine.

  • thank you for answer but I do not have a liberty to change data type as its with engineering for now but is there any other way to copy data without any format changes? – Im88 Sep 27 '17 at 2:08
  • No, of course you can't. The data types are not identical. That's why you need to map them properly. – Marian Oct 31 '18 at 13:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.