Har en server där jag har min applikation + en SQL databas.
Behöver även hämta lite kund information från en annan databas på en annan server. hur gör jag min SQL sats?
Join, 2 databaser, 2 sql servrar
8 svar · 1 511 visningar · startad av firstchoice
Snälla - berätta vad du använder för dbms. Microsoft SQL Server?
yes! det är en MS SQL Server, vilken generation vet jag tyvärr inte...
Då får du börja med att sätta upp en "Linked server" i enterprise manager / management studio. När du gjort det kan du joina, typ:
select foo from tabell1 t1
inner join [länkad server].databasnamn.ägare.tabell2 t2
on t1.id = t2.någotid
vad betyder detta?
Msg 468, Level 16, State 9, Line 1
Cannot resolve the collation conflict between "Finnish_Swedish_CI_AS" and "Finnish_Swedish_CS_AS" in the equal to operation.
Det betyder att det är olika collation på de fält du försöker joina. Du får lägga med collate i joinen så fälten kan jämföras.
...
on t1.id collate Finnish_Swedish_CS_AS = t2.någotid collate Finnish_Swedish_CS_AS
Du behöver egentligen inte collate på båda fälten - det räcker med att sätta collation på det ena så det är samma som i det andra.
i ren svenska, vad betyder det? :)
Det betyder att det är olika collation på de fält du försöker joina
Collation är sorteringsordning, och används vid sortering och jämförelser. Finnish_Swedish_CS_AS är skiftlägeskänslig och accent-känslig, dvs Sverige är inte samma som SVERIGE, och idéer är inte samma som ideer.
har nu knåpat ihop en lång sql sträng
denna fungerar utmärkt när jag kör den i SQL Server Management men på min asp sida får jag ett felmeddelande. vad kan detta bero på?
SQL = "SELECT tSV.ScheduledVisitorsVisitorsID AS VisitorsID, tSV.ScheduledVisitorsStaffID AS StaffID, tSV.ScheduledVisitorsPictureID AS PictureID, tSVP.ScheduledVisitorsPictureURL AS PictureURL, tC.[First Name] AS v_First_Name, tC.[Middle Name] AS v_Middle_Name, tC.[Surname] AS v_Surname, tE.[First Name] AS e_First_Name, tE.[Last Name] AS e_Last_Name "
SQL = SQL & "FROM tblScheduledVisitors tSV INNER JOIN [SQLSER\NAV].Nav.dbo.[Contact] tC "
SQL = SQL & "ON tC.No_ collate Finnish_Swedish_CS_AS = tSV.ScheduledVisitorsVisitorsID collate Finnish_Swedish_CS_AS "
SQL = SQL & "INNER JOIN [SQLSER\NAV].Nav.dbo.[Employee]tE "
SQL = SQL & "ON tE.No_ collate Finnish_Swedish_CS_AS = tSV.ScheduledVisitorsStaffID collate Finnish_Swedish_CS_AS "
SQL = SQL & "INNER JOIN tblScheduledVisitorsPicture tSVP "
SQL = SQL & "ON tSVP.ScheduledVisitorsPictureID = tSV.ScheduledVisitorsPictureID"
felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e37'
[Microsoft][SQL Native Client][SQL Server]Invalid object name 'tblScheduledVisitors'.
/LoginVisitors/signin.asp, line 42
rad 42:
set Rs = dbConnection.execute(SQL)
:q