Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Upsizing GUID to UniqueIdentifier
Message
From
16/09/2005 04:16:13
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
15/09/2005 22:34:07
General information
Forum:
Visual FoxPro
Category:
Client/server
Miscellaneous
Thread ID:
01049183
Message ID:
01050164
Views:
73
Birşey değil:)
But don't forget if you use c(36 or 38) version do not use nocptrans. Directly definable as uniqueidentifier without that flag.
PS: I don't know VB:) All I can do is to understand and modify VB code. I never understood why they're always DIMming and never BRIGHTing < bg >.
Cetin

>Yaşa bey !
>
>Akılına sağlık.
>
>TransformFlags = DTSTransformFlag_ForceConvert
>
>is exactly the answer I needed !!! I found the transform flags in the docs but couldn't figure out the vbscript syntax to get it into the transform script.
>
>You definitely have more languages than I do ( I figure C, Vbscript, C# and probably 4 or 5 I don't know about beat my Thai, Lao and Bahasa :-)
>- but I bet we both count in Persian when we play tavla )
>
>>c(36) and c(38) versions are not binary (nocptrans). They're plain char fields and directly convertible to uniqueidentifier.
>>PS: I see DBTYPE_BYTES there. It matches VFP9 VFPOLEDB specicification and would directly convert to DBTYPE_GUID if it were c(16) nocptrans version. At home I had old VFPOLEDB (VFP7)that maps c(16) binary to DBTYPE_STR and I had to use varbinary first). When it's DBTYPE_BYTES a GUID is exactly 16 bytes (16*8=128 bits value).
>>
>>Nope it doesn't convert directly and I get conversion error as you said (DTS bug IMHO). To workaround:
>>
>>From Transform (...) go to "Transformations" tab. Select "Transform ...." and edit VB script there:
>>
>>Under "Function Main()" line add this line:
>>
>>TransformFlags = DTSTransformFlag_ForceConvert
>>
Cetin
>>
>>>Okay, this is not the result I am getting so I may have something set wrong in my DTS.
>>>
>>>I have the c(38) nocptrans field. I run the DTS wizard. I pick uniqueid for that field.
>>>
>>>I run the DTS and I get this error:
>>>
>>>DTSTransformCopy: Schema validation failed. See extended error information.
>>>TransformCopy 'DirectCopyXForm' validation error: ForceConvert not specified but
>>>required for column pair 13 (source column 'pk_supplier'
>>>(DBTYPE_BYTES),destination column 'pk_supplier' (DBTYPE_GUID)
>>>
>>>Any idea how to specify ForceConvert ?
>>>
>>>>Charles,
>>>>I didn't have VFP and SQL server on this box so it took me sometime to install them and test:)
>>>>I created a database in VFP with 3 tables in it. Those 3 tables had c(38),c(36) and c(16) nocptrans versions respectively.
>>>>In SQL server DTS I directly mapped 36,38 ones to uniqueidentifier and 16 bytes one to varbinary(16). All imported sucessfully. After import I changed type of 3rd one to uniqueidentifier.
>>>>Checked values in both VFP and SQL server and they matched.
>>>>Cetin
>>>>
>>>>>>I think we're losing to be synch in "upsizing".
>>>>>
>>>>>Yani, "out of synch" (free English lesson in return for code lesson :-)
>>>>>
>>>>>Okay, I think I am starting to get what you are saying. ( still don't understand pguid and rguid as you use them but maybe I don't have to in order to use the function. ) I did understand we were talking about using code on the VFP side to 'upsize' and not to use the wizard.
>>>>>
>>>>>I did try converting the c(36) guids to c(38) including the brackets. If I do that the DTS transformation allows me to select UniqueID as the destination data type, but the import fails saying that a forcedconversion is required and I can't find out how to do that. ( will go back and try again on the DTS wizard )
>>>>>
>>>>>Let me play some more and I will come back with more questions.
>>>>>
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform