I am fairly new to SQL Server but an experienced Oracle DBA. We currently have a SQL Server 2000 database that I connect to remotely from a SQL 2005 database. The collation of the msdb on the sql server 2000 is SQL_Latin1_General_CP1_CI_AS and the database that Im trying to create a view (Call it Scottdb) in is SQL_Latin1_General_CP1_CS_AS. There has not been any problems in the past with doing any sort of joins in the Scottdb database. I recently created two new tables in Scottdb (no problem), a few associated indexes and a new view which joins both new tables to an existing table in the database. I am receiving the dreaded error:
Cannot resolve collation conflict for equal to operation
There really is nothing to the view, just a couple of easy little inner joins. I even deleted the tables and view, went to the machine directly in case it was a 2005 management studio issue and received the same error. This issue is driving me up the wall. Can someone please talk me through the best way to fix it.
Hi, I have developed a website in asp.net 2. I have tester it and it is working fine on my computer but when I have uploaded it to my server I'm getting an error message when the user signup. The error occurs when I'm setting the user role to 'members'.
Error line > Roles.AddUserToRole(user.UserName, "members")
The strage thig is that it is working on my computer but not on the server. My home computer and the server are running the same software versions and the website database is the same as well.
To double check that my code is not generating the error I have lonched 'SQL Query Analizer' and executed the folowing code on my database: NOTE: In my database I have create the user “teeluk12? and a role “members?
I've restored a SQL Server 2000 database with a Latin1_General_BIN collation from a .dmp file to a SQL Server 2005 server with a default collation of SQL_Latin1_General_CP1_CI_AS. When I try to change the database collation I get hundreds of the following error:
The object 'CK_PM10200_GLPOSTD_00AF8CF' is dependent on database collation. So, in this case, is it even possible to change the collation if there are objects in the database that are dependent on it?
I am attempting to transfer data between two SQL Server 2000 DBs. The transfer fails and returns a message "Incorrect Syntax near 'Collate'". There is an option in the DTS Import/Export Wizard of Use Collation but this option is turned off. Is there any server specific configuration regarding collation I might turn off? Both databases reside on the same server and the Collation properties for both DB's are set the same. Please Help
Our SQL servers have been setup to collate American. However, our pc's are setup for South Africa. This is creating a nightmare for us as we use Great Plains, which is an American product with American date format.
We are having difficulties in doing any development due to this issue.
Can someone please advise me as to whether there is another way around this ?
UPDATE #TMPC SET EsaItem = ItemClass FROM #TMPC A, dbo.EisAdj_ItemClass_V B WHERE A.EsaItem = B.ItemClassCODE
This code is part of my procedure. I always get error--Server: Msg 446, Level 16, State 9, Procedure GetAdjDataFromShipment, Line 282 Cannot resolve collation conflict for equal to operation. when program execute at this section. I try to add this statement "COLLATE SQL_Latin1_General_CP1_CI_AS", but it seems not working. I do not know why!
We have a server which we needed to upgrade the OS on it from NT 4 Server to Windows 2000 Server.
As the system disks are seperate from the data disks. We did a fresh install of Windows, then installed SQL Server, applied service pack version 3, and then restored the master database.
From Query Analyser everything appears fine. I can query all the databases and tables, see them all, the web applications talk the database fine so all the users have recreated OK.
However .... if we try and look at the database through management console we get the following error.
A connection could not be established to ....
Reason: Cannot resolve collation conflict for like operation..
This happends logged in locally to the machine as administrator as well as connecting remotely. Does anybody have any idea what is happening?
I am trying to change the name collation of a SQL database as an update script I am running needs the main collation to be SQL_Latin1_General_CP1_CI_AS
I have tried going into Properties and options then changing the collation type but I get this error
"The Database could not be exclusively locked to perform the operation. ALTER DATABASE failed. The default collation of database 'nutri93' cannot be set to SQL_Latin1_General_CP1_CI_AS."
I have tried SQL scripts that I have found to take the database into a single user mode but still get the same errror.
Usually its this Database nutri93 could not be locked exclusively
How I can change the collation type? Currently the only option seems to be a complete hard install of SQL Management Studio
I am getting the following error message when trying to run a script: "Cannot resolve collation conflict for equal to operation."
Any help on resolving this would be most appreciated, thanks!
my SQL code is as follows:
CREATEVIEW IP_SLAM_EXTRACT_1 AS SELECT LEFT(a.provider,3) AS [Trust Code], CASEWHEN a.practice_code='F86687'THEN 'F86723' WHEN a.practice_code='F86733'THEN 'F86068' WHEN a.practice_code='F86677' OR a.practice_code='F86693'THEN 'F86675' WHEN a.practice_code='F86714' OR a.practice_code='F86129'THEN 'F86634' WHEN a.practice_code='F86050'THEN 'Y00090' WHEN a.practice_code='F86669' OR a.practice_code='F86662'THEN 'F86702' WHEN a.practice_code='F886051' THEN 'F86634' WHEN a.practice_code='F86059' OR a.practice_code='F86055'THEN 'F86060' WHEN a.practice_code='F86690'THEN 'F86637' WHEN a.practice_code='F86089'THEN 'F86060' WHEN a.practice_code='F86717' OR a.practice_code='F86728'THEN 'F86716' WHEN a.practice_code='F86727' OR a.practice_code='F86728'THEN 'F86721' WHEN a.practice_code IS NULL AND a.postcode NOT IN (SELECT DISTINCT p.POSTCODE FROM REPOSITORY..[Exeter PostCode]p)THEN 'Null_not_5NA' WHEN a.practice_code IS NULL AND a.postcode IN (SELECT DISTINCT p.POSTCODE FROM REPOSITORY..[Exeter PostCode]p)THEN 'Null_5NA'
ELSE a.practice_code END AS [GP Practice], LEFT( CASE WHEN a.treatment_function_code LIKE 'mis%' OR a.treatment_function_code LIKE '?%' OR a.treatment_function_code LIKE '#%' THEN a.main_specialty_code WHEN a.treatment_function_code ='' OR a.treatment_function_code IS NULL AND a.main_specialty_code IS NOT NULL THEN a.main_specialty_code WHEN a.treatment_function_code ='' OR a.treatment_function_code IS NULL AND a.main_specialty_code IS NULL THEN '999' WHEN a.treatment_function_code LIKE '0%'THEN '999' ELSE a.treatment_function_code END,3) AS [Specialty Code], a.hrg_code_calculated AS [HRG Code], a.local_patient_identifier as [Patient id Code], a.patient_classificationAS [Pat Class], a.admission_method AS [Adm Method], a.spell_discharge_date, a.consultant_code, a.diagnosis_primary_icd, a.gp AS [GP Code], a.length_of_stay AS [Spell LOS], --pat_type, --prv_typ, a.spell_special_service AS Spell_Service_ID, a.date_of_birth, a.administrative_category, a.cds_type --FROMSUS_5NA_NEW_0607 a-- FROM SUS_apc_5NA_view a WHEREa.fin_month < 4 AND a.fin_year = 2008 ANDa.main_episode='M' ANDa.pbr_exclusion IS NULL ANDa.pct_calculated = '5NA' ANDa.commissioner LIKE '5NA%' ANDa.Spell_Discharge_Date<'30/06/2007'
I'm getting the following errors when trying to execute the following script on the server, its part of the standard asp.net membership and roles, anybody have any ideas how I get get round this?
Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 50 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 58 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 84 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 92 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.
/****** Object: StoredProcedure [dbo].[aspnet_UsersInRoles_RemoveUsersFromRoles] Script Date: 05/20/2007 11:23:33 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[aspnet_UsersInRoles_RemoveUsersFromRoles]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [dbo].[aspnet_UsersInRoles_RemoveUsersFromRoles] @ApplicationName nvarchar(256), @UserNames nvarchar(4000), @RoleNames nvarchar(4000) AS BEGIN DECLARE @AppId uniqueidentifier SELECT @AppId = NULL SELECT @AppId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@AppId IS NULL) RETURN(2)
DECLARE @TranStarted bit SET @TranStarted = 0
IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END
DECLARE @tbNames table(Name nvarchar(256) NOT NULL PRIMARY KEY) DECLARE @tbRoles table(RoleId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @tbUsers table(UserId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @Num int DECLARE @Pos int DECLARE @NextPos int DECLARE @Name nvarchar(256) DECLARE @CountAll int DECLARE @CountU int DECLARE @CountR int
SET @Num = 0 SET @Pos = 1 WHILE(@Pos <= LEN(@RoleNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @RoleNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@RoleNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@RoleNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1
INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END
INSERT INTO @tbRoles SELECT RoleId FROM dbo.aspnet_Roles ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredRoleName AND ar.ApplicationId = @AppId SELECT @CountR = @@ROWCOUNT
IF (@CountR <> @Num) BEGIN SELECT TOP 1 N'''', Name FROM @tbNames WHERE LOWER(Name) NOT IN (SELECT ar.LoweredRoleName FROM dbo.aspnet_Roles ar, @tbRoles r WHERE r.RoleId = ar.RoleId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(2) END
DELETE FROM @tbNames WHERE 1=1 SET @Num = 0 SET @Pos = 1
WHILE(@Pos <= LEN(@UserNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @UserNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@UserNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@UserNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1
INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END
INSERT INTO @tbUsers SELECT UserId FROM dbo.aspnet_Users ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredUserName AND ar.ApplicationId = @AppId
SELECT @CountU = @@ROWCOUNT IF (@CountU <> @Num) BEGIN SELECT TOP 1 Name, N'''' FROM @tbNames WHERE LOWER(Name) NOT IN (SELECT au.LoweredUserName FROM dbo.aspnet_Users au, @tbUsers u WHERE u.UserId = au.UserId)
IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(1) END
SELECT @CountAll = COUNT(*) FROMdbo.aspnet_UsersInRoles ur, @tbUsers u, @tbRoles r WHERE ur.UserId = u.UserId AND ur.RoleId = r.RoleId
IF (@CountAll <> @CountU * @CountR) BEGIN SELECT TOP 1 UserName, RoleName FROM @tbUsers tu, @tbRoles tr, dbo.aspnet_Users u, dbo.aspnet_Roles r WHERE u.UserId = tu.UserId AND r.RoleId = tr.RoleId AND tu.UserId NOT IN (SELECT ur.UserId FROM dbo.aspnet_UsersInRoles ur WHERE ur.RoleId = tr.RoleId) AND tr.RoleId NOT IN (SELECT ur.RoleId FROM dbo.aspnet_UsersInRoles ur WHERE ur.UserId = tu.UserId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(3) END
DELETE FROM dbo.aspnet_UsersInRoles WHERE UserId IN (SELECT UserId FROM @tbUsers) AND RoleId IN (SELECT RoleId FROM @tbRoles) IF( @TranStarted = 1 ) COMMIT TRANSACTION RETURN(0) END ' END GO
I am facing the Follwing error: Cannot resolve the collation conflict between "Latin1_General_BIN" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.
Follwing is my Code: code]select * from #temp_Table a where ltrim(rtrim(Model_ID))+''+ltrim(rtrim(Set_Serial_Number)) in (select ltrim(rtrim(b.Model_SerialNo)) from #temp_Table2 b where b.Auto_Id=1)[[/code]
I have upgraded many of my servers from 2000,SP2 to 2005. Whilst doing 1 server I have the following error message:
Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation..To continue, correct the problem, and then run SQL Server Setup again.
I have tried to search in many places for this error whilst upgrading but found none, please help.
Can I know is it possible that if the database servers' collation in both principal and mirror server might unable to get the mirroring? Because one of database collation is Latin1_General_CI_AS while another server (mirror) is SQL_Latin1_General_CP1_CI_AS. I did several type of troubleshooting but still unable to solve the Error 1418. All the ports are stated as started, able to use telnet to connect to the server's port but still unable to get a connection for the database mirroring. I do really need help on it. Thx for the assistance and kindness.
I have setup db containment with a different Collation that the TempDB and it works perfectly when using temptables. However, when I try to run a script with links a table on my contained db with systable, example sys.allobjects I still get the collation error. I or now added "COLLATE database_default" for the fields which is causing the error on the join. I know we do not link to the the systables a lot so it's easier using db containment where we have a lot of collation issues when working with temptables.
The option is not available to change collation to be the same as the system databases.
Another question I have is, our database is currently using Latin1_General_BIN. Our system db's are on Latin1_General_CI_AS. This DB ontainment is OK and working here. What happens if we add Reporting services db which uses Latin1_General _CI_AS_KS_WS, will it work using our DB collation,with TempDB and Reporting services collation or are we going to run into trouble. I did actually test this and we do get the following collation error when combining Temp tables with our database and Reporting services
Msg 468, Level 16, State 9, Line 4
Cannot resolve the collation conflict between "Latin1_General_CI_AS_KS_WS" and "Latin1_General_BIN" in the equal to operation.
I'm getting the following errors when trying to execute the following script on the server, its part of the standard asp.net membership and roles, anybody have any ideas how I get get round this? Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 50 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 58 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 84 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. Msg 468, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 92 Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation. /****** Object: StoredProcedure [dbo].[aspnet_UsersInRoles_RemoveUsersFromRoles] Script Date: 05/20/2007 11:23:33 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[aspnet_UsersInRoles_RemoveUsersFromRoles]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [dbo].[aspnet_UsersInRoles_RemoveUsersFromRoles] @ApplicationName nvarchar(256), @UserNames nvarchar(4000), @RoleNames nvarchar(4000) AS BEGIN DECLARE @AppId uniqueidentifier SELECT @AppId = NULL SELECT @AppId = ApplicationId FROM aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName IF (@AppId IS NULL) RETURN(2)
DECLARE @TranStarted bit SET @TranStarted = 0
IF( @@TRANCOUNT = 0 ) BEGIN BEGIN TRANSACTION SET @TranStarted = 1 END
DECLARE @tbNames table(Name nvarchar(256) NOT NULL PRIMARY KEY) DECLARE @tbRoles table(RoleId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @tbUsers table(UserId uniqueidentifier NOT NULL PRIMARY KEY) DECLARE @Num int DECLARE @Pos int DECLARE @NextPos int DECLARE @Name nvarchar(256) DECLARE @CountAll int DECLARE @CountU int DECLARE @CountR int
SET @Num = 0 SET @Pos = 1 WHILE(@Pos <= LEN(@RoleNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @RoleNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@RoleNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@RoleNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1
INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END
INSERT INTO @tbRoles SELECT RoleId FROM dbo.aspnet_Roles ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredRoleName AND ar.ApplicationId = @AppId SELECT @CountR = @@ROWCOUNT
IF (@CountR <> @Num) BEGIN SELECT TOP 1 N'''', Name FROM @tbNames WHERE LOWER(Name) NOT IN (SELECT ar.LoweredRoleName FROM dbo.aspnet_Roles ar, @tbRoles r WHERE r.RoleId = ar.RoleId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(2) END
DELETE FROM @tbNames WHERE 1=1 SET @Num = 0 SET @Pos = 1
WHILE(@Pos <= LEN(@UserNames)) BEGIN SELECT @NextPos = CHARINDEX(N'','', @UserNames, @Pos) IF (@NextPos = 0 OR @NextPos IS NULL) SELECT @NextPos = LEN(@UserNames) + 1 SELECT @Name = RTRIM(LTRIM(SUBSTRING(@UserNames, @Pos, @NextPos - @Pos))) SELECT @Pos = @NextPos+1
INSERT INTO @tbNames VALUES (@Name) SET @Num = @Num + 1 END
INSERT INTO @tbUsers SELECT UserId FROM dbo.aspnet_Users ar, @tbNames t WHERE LOWER(t.Name) = ar.LoweredUserName AND ar.ApplicationId = @AppId
SELECT @CountU = @@ROWCOUNT IF (@CountU <> @Num) BEGIN SELECT TOP 1 Name, N'''' FROM @tbNames WHERE LOWER(Name) NOT IN (SELECT au.LoweredUserName FROM dbo.aspnet_Users au, @tbUsers u WHERE u.UserId = au.UserId)
IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(1) END
SELECT @CountAll = COUNT(*) FROMdbo.aspnet_UsersInRoles ur, @tbUsers u, @tbRoles r WHERE ur.UserId = u.UserId AND ur.RoleId = r.RoleId
IF (@CountAll <> @CountU * @CountR) BEGIN SELECT TOP 1 UserName, RoleName FROM @tbUsers tu, @tbRoles tr, dbo.aspnet_Users u, dbo.aspnet_Roles r WHERE u.UserId = tu.UserId AND r.RoleId = tr.RoleId AND tu.UserId NOT IN (SELECT ur.UserId FROM dbo.aspnet_UsersInRoles ur WHERE ur.RoleId = tr.RoleId) AND tr.RoleId NOT IN (SELECT ur.RoleId FROM dbo.aspnet_UsersInRoles ur WHERE ur.UserId = tu.UserId) IF( @TranStarted = 1 ) ROLLBACK TRANSACTION RETURN(3) END
DELETE FROM dbo.aspnet_UsersInRoles WHERE UserId IN (SELECT UserId FROM @tbUsers) AND RoleId IN (SELECT RoleId FROM @tbRoles) IF( @TranStarted = 1 ) COMMIT TRANSACTION RETURN(0) END ' END GOAny help appreciated thanks,
Exception information:System.Data.SqlClient.SqlException: Cannot resolve collation conflict for equal to operation. Who can tell me how to resolve this problem? Thx
I have a query that I need to run where I join two tables that both reside on different servers. I use an INNER JOIN statement to attempt to join these tables, but for some reason I am getting the following error message...
"
Cannot resolve collation conflict for equal to operation."
The query is as follows...
SELECT TABLE_NAME, LEFT(TABLE_NAME, CHARINDEX('_', TABLE_NAME + '_') - 1) AS Abbreviation FROM mrcsmis.INFORMATION_SCHEMA.TABLES INNER JOIN DEVELCAD1.Portal.dbo.dnl_db_names_log AS imp ON (imp.dnl_table_name = TABLE_NAME) WHERE (TABLE_TYPE = 'BASE TABLE')
I am using SQL Server 2008. In ServerProperty function, there are two properties called “Collation” and “CollationID”. In some cases, I will only know the CollationID. Is it possible get the collation name from the CollationID? Is there a function called CollationNameFromID?
I have just upgraded to SQL Server 2005 from SQL Server 2000.In Microsoft SQL Server Management Studio, when I click on databaseproperties, I receive the following error:-Cannot resolve the collation conflict between"Latin1_General_CI_AS"and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.(Microsoft SQL Server, Error: 468)Some reference suggest that I can change the database collation byclicking database properties!What can I do?
I am using SQL Server 2008. In ServerProperty function, there are two properties called “Collation” and “CollationID”. In some cases, I will only know the CollationID. Is it possible get the collation name from the CollationID? Is there a function called CollationNameFromID?
Hi: I have a website and related database in English version, now I am trying to start with other language, such as Chinese. The first problem I am facing is: search a user name when user name is Chinese: For example: English version: SELECT u_name FROM Users WHERE u_name = 'eric', it will return a value, but if I type: SELECT u_name FROM Users WHERE u_name = '艾瑞克', even if the table cell has the 艾瑞克 record, it won't return anything. Search online, there are a lot of articles, since I am pretty new for this, can you let me know where to start? How to change the collation for the existing db, do I need to create stored procedure for the search? I would like to solve this problem start from my MSsql 2005 database. If that works fine, then I will go to my web application. Thanks a lot. James
I am using SQL Server 2008. In ServerProperty function, there are two properties called "Collation" and "CollationID". In some cases, I will only know the CollationID. Is it possible get the collation name from the CollationID? Is there a function called CollationNameFromID?
dear experts while i'm learning BCP from books online, i got a doubt. copying data between different collations. what exactly the meaning of collation?
i tried in BOL. but because i'm a junior, i didnt got the good idea about collation. please explain me
I am just trying to understand about how collation and unicode work in SQL Server. My database's collation is Latin1_General, and I set one column in one table to have collation Cyrillic_General. Then in Windows PC where I am running an application that is connected to my database, I set Mongolian Language from Regional Settings. When I typed using Mongolian Keyboards and save the characters into database, then I can retrieve the cyrillic characters back into my application. However, when I checked into database using Query Analyzer, those characters are saved in the column, that has collation Cyrillic_General and with nchar data type, apparently using codepage 1252, my database default codepage. My application and my database server are located in two different machines and I don't install Mongolian language in my database server. So that when other web application reads those characters from that column, even my browser has been set to use Cyrillic encoding, still it showed as characters from codepage 1252.
Could someone explain me what actually happens here?