/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MSSQL - Unique Identifier ??
Fra : Brian Ipsen


Dato : 12-03-05 19:33

Hej,

Fra en linux maskine laver jeg nogle queries mod en MSSQL server.... Nogle
af felterne i tabellerne er defineret som GUID...

Laver jeg en select i SQL på MS maskinen, så kan jeg f.eks. få følgende ud:

JobID: {4B016786-6BA9-4857-A872-2116050EE1D8}

Samme query fra linuxmaskinen giver:

JobID: 8667014ba96b5748a8722116050ee1d8

Problemet er så bare, at jeg skal bruge det output i nogle andre queries
(hvor feltet også er en UniqueIdentifier)
select * from table where JobID = '8667014ba96b5748a8722116050ee1d8'

..... Så får jeg følgende fejl:

"Syntax error converting from a character string to uniqueidentifier sql"

Hvordan får jeg den til at arbejde med den som en UniqueIdentifier ??

/Brian



 
 
Thomas Damgaard Niel~ (12-03-2005)
Kommentar
Fra : Thomas Damgaard Niel~


Dato : 12-03-05 20:05

Brian Ipsen wrote:
> Fra en linux maskine laver jeg nogle queries mod en MSSQL server.... Nogle
> af felterne i tabellerne er defineret som GUID...

> Hvordan får jeg den til at arbejde med den som en UniqueIdentifier ??

I hvilket sprog gør du det her? Og hvilken driver bruger du?


--
Thomas Damgaard Nielsen - http://thomasdamgaard.dk
"Det er i hvert fald i størrelsesordenen 1000 eller flere om året der
dør i Danmark af partikler." -- Steffen Loft, professor, Københavns
Universitet

Brian Ipsen (12-03-2005)
Kommentar
Fra : Brian Ipsen


Dato : 12-03-05 20:43

"Thomas Damgaard Nielsen" <tdn.usenet@gmail.com> wrote in message
news:42333d66$0$29284$14726298@news.sunsite.dk...

>> Fra en linux maskine laver jeg nogle queries mod en MSSQL server....
>> Nogle af felterne i tabellerne er defineret som GUID...
>
>> Hvordan får jeg den til at arbejde med den som en UniqueIdentifier ??
>
> I hvilket sprog gør du det her? Og hvilken driver bruger du?

Jeg laver det i et bash shell script via sqsh-kommandoen (som bruger
freetds) ... Efter ½ times ekstra søgning på google fandt jeg ud af, at
outputtet skal cast'es til char/varchar - så kan det bruges til at proppe
med i de næste queries uden problemer....

/Brian



Peter Lykkegaard (12-03-2005)
Kommentar
Fra : Peter Lykkegaard


Dato : 12-03-05 20:08

"Brian Ipsen" wrote
>
> Fra en linux maskine laver jeg nogle queries mod en MSSQL server.... Nogle
> af felterne i tabellerne er defineret som GUID...
>
> Laver jeg en select i SQL på MS maskinen, så kan jeg f.eks. få følgende
> ud:
>
> JobID: {4B016786-6BA9-4857-A872-2116050EE1D8}
>
Prøv at lave en anden konstruktion
fx

select cast(jobid as varchar(36)) as jobid from
some_table_with_jobid_defined

> Hvordan får jeg den til at arbejde med den som en UniqueIdentifier ??
>
Kik på lidt på dette

declare @V as varchar(36)
select @V = Cast(newid() As VarChar(36))
select @V
select cast(@V As UniqueIdentifier)

select cast(
'FCB989DB-A2C2-4365-BAC0-054AC5247344'
As UniqueIdentifier)

- Peter



Chris (19-03-2005)
Kommentar
Fra : Chris


Dato : 19-03-05 20:28

Brian Ipsen wrote:

> select * from table where JobID = '8667014ba96b5748a8722116050ee1d8'

Jeg vil tro du skal have tuborgklammerne med:

SELECT * FROM table WHERE jobid = '{8667014ba96b5748a8722116050ee1d8}'

/Chris

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste