webForumDet fria alternativet
Logga in / Bli medlem

Join, 2 databaser, 2 sql servrar

Databaser & SQL

8 svar · 1 511 visningar · startad av firstchoice

Medlem sedan okt. 2001615 inlägg
Frågan#1

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?

Medlem sedan juni 200032 967 inlägg
#2

Snälla - berätta vad du använder för dbms. Microsoft SQL Server?

Medlem sedan okt. 2001615 inlägg
#3

yes! det är en MS SQL Server, vilken generation vet jag tyvärr inte...

Medlem sedan juni 200032 967 inlägg
#4

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
Medlem sedan okt. 2001615 inlägg
#5

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.

Medlem sedan juni 200032 967 inlägg
#6

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.

Medlem sedan okt. 2001615 inlägg
#7

i ren svenska, vad betyder det? :)

Det betyder att det är olika collation på de fält du försöker joina

Medlem sedan juni 200032 967 inlägg
#8

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.

Medlem sedan okt. 2001615 inlägg
#9

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

272 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)