1. Clib.System("osql.exe -S upgscmdb02.itlab.local -d (datasource) -U (username) -P (password) -Q \"select newid()\"")
可以顺利弹出CMD窗口,但是无法通过返回值获取GUID.
2.仅限于windows平台
function GenerateGUID()
{
//PRFT_SS_20120503_Added for bug1431 to generate GUID
try
{
var sGUID = "";
var guidDesc = new blobDescriptor();
guidDesc.data1 = SWORD32;
guidDesc.data2 = SWORD16;
guidDesc.data3 = SWORD16;
guidDesc.data4 = UWORD8;
guidDesc.data5 = UWORD8;
guidDesc.data6 = UWORD8;
guidDesc.data7 = UWORD8;
guidDesc.data8 = UWORD8;
guidDesc.data9 = UWORD8;
guidDesc.data10 = UWORD8;
guidDesc.data11 = UWORD8;
var guidBlob:Blob;
// ST engine only; with the classic eScript engine use 'var guidBlob;'
Blob.put(guidBlob, 0, 0, SWORD32);
Blob.put(guidBlob, 4, 0, SWORD16);
Blob.put(guidBlob, 6, 0, SWORD16);
Blob.put(guidBlob, 8, 0, UWORD8);
Blob.put(guidBlob, 9, 0, UWORD8);
Blob.put(guidBlob, 10, 0, UWORD8);
Blob.put(guidBlob, 11, 0, UWORD8);
Blob.put(guidBlob, 12, 0, UWORD8);
Blob.put(guidBlob, 13, 0, UWORD8);
Blob.put(guidBlob, 14, 0, UWORD8);
Blob.put(guidBlob, 15, 0, UWORD8);
SElib.dynamicLink("OLE32.DLL", "CoCreateGuid", STDCALL, guidDesc, guidBlob);
var maxchars = 120;
var buffer = new Buffer(maxchars);
// StringFromGUID2 returns a unicode string, so set our
// receiving buffer accordingly.
buffer.unicode = true;
// Again, guidDesc is needed for describing the structure of guidBlob.
var rtn = SElib.dynamicLink("OLE32.DLL", "StringFromGUID2", STDCALL,
guidDesc, guidBlob, buffer.data, maxchars);
sGUID = buffer.getString(120);
}
catch(e)
{
throw(e);
}
finally
{
guidDesc = null;
buffer = null;
guidBlob= null;
}
return sGUID;
}