trojan_uk
asked on
collation conflict error in SQL 2005
Hi,
I have just done a Backup/Restore from SQL 2000 and 2005, mostly it seems ok . I set up the 2005 database using the collation as default, then did a restore checking the overwrite option. Both databases are showing as "Latin1_General_CI_AS"
When I execute the SP in 2005 I get the following error:
Msg 468, Level 16, State 9, Procedure wbEmplCostMgrList, Line 57
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI _AS" and "Latin1_General_CI_AS" in the equal to operation.
I have pasted the SP below and marked out line 57
Many thanks
I have just done a Backup/Restore from SQL 2000 and 2005, mostly it seems ok . I set up the 2005 database using the collation as default, then did a restore checking the overwrite option. Both databases are showing as "Latin1_General_CI_AS"
When I execute the SP in 2005 I get the following error:
Msg 468, Level 16, State 9, Procedure wbEmplCostMgrList, Line 57
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI
I have pasted the SP below and marked out line 57
Many thanks
USE [WEBBILL]
GO
/****** Object: StoredProcedure [dbo].[wbEmplCostMgrList] Script Date: 02/07/2008 13:06:32 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[wbEmplCostMgrList]
(
@COMPID int,
@COSTID int,
@MONTH varchar(2),
@YEAR varchar(4),
@INVNUMBER varchar(6)
)
AS
SET NOCOUNT ON
CREATE TABLE #COSTCHARGETOTAL (
CostID int,
EmpID int,
FirstName varchar(15),
LastName varchar(20),
TelNumber varchar(15),
RENTALPLUS float,
RENTALMINUS float,
CHARGEOUT float,
CHARGEIN float,
CHARGEDATA float,
CHARGEMESSAGE float
)
INSERT INTO #COSTCHARGETOTAL
SELECT
Emp.COSTID,
Emp.EMPID,
Emp.FIRSTNAME,
Emp.LASTNAME,
TELNUMBER,
Sum(Case When Rental > 0 Then Rental else 0 end) AS RENTALPLUS,
Sum(Case When Rental < 0 Then Rental else 0 end) AS RENTALMINUS,
0,
0,
0,
0
FROM ((wbRentalCharge A LEFT JOIN wbMCD B ON A.MobDevID = B.MobDevID)
LEFT JOIN wbAssetTrack C ON C.AssID = B.AssID)
INNER JOIN wbEmpl Emp ON emp.EmpID = C.EmpID
WHERE INVNUMBER = @INVNUMBER
AND C.EMPID IN (
SELECT EMPID
FROM wbEmpl <<===================== LINE 57
WHERE COMPID= @COMPID
AND COSTID =@COSTID
AND VISIBLE <> 0)
GROUP BY Emp.COSTID, Emp.FIRSTNAME, Emp.LASTNAME, TELNUMBER,B.MobDevID,Emp.EMPID
UPDATE A
SET CHARGEOUT = COALESCE( ( SELECT Sum(Case When Charge > 0 Then Charge else 0 end)
FROM wbVoiceOut B
LEFT JOIN wbMCD C
ON B.MobDevID = C.MobDevID
LEFT JOIN wbAssetTrack D
ON D.AssID = C.AssID
WHERE C.TelNumber = A.Telnumber
AND INVNUMBER = @INVNUMBER AND B.CostID = @CostID ) , 0)
FROM #COSTCHARGETOTAL A
UPDATE A
SET CHARGEIN = COALESCE( ( SELECT Sum(Case When Call_Charge > 0 Then Call_Charge else 0 end)
FROM wbVoiceIn B
LEFT JOIN wbMCD C
ON B.MobDevID = C.MobDevID
LEFT JOIN wbAssetTrack D
ON D.AssID = C.AssID
WHERE C.TelNumber = A.Telnumber
AND INVNUMBER = @INVNUMBER AND B.CostID = @CostID ) , 0)
FROM #COSTCHARGETOTAL A
UPDATE A
SET CHARGEDATA = COALESCE( ( SELECT Sum(Case When Charge > 0 Then Charge else 0 end)
FROM wbData B
LEFT JOIN wbMCD C
ON B.MobDevID = C.MobDevID
LEFT JOIN wbAssetTrack D
ON D.AssID = C.AssID
WHERE C.TelNumber = A.Telnumber
AND INVNUMBER = @INVNUMBER AND B.CostID = @CostID ) , 0)
FROM #COSTCHARGETOTAL A
UPDATE A
SET CHARGEMESSAGE = COALESCE( ( SELECT Sum(Case When Charge > 0 Then Charge else 0 end)
FROM wbMessage B
LEFT JOIN wbMCD C
ON B.MobDevID = C.MobDevID
LEFT JOIN wbAssetTrack D
ON D.AssID = C.AssID
WHERE C.TelNumber = A.Telnumber
AND INVNUMBER = @INVNUMBER AND B.CostID = @CostID) , 0)
FROM #COSTCHARGETOTAL A
SELECT * FROM #COSTCHARGETOTAL
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER