środa, 28 października 2009

Funkcja sprawdzająca czy na podanym użytkowniku i haśle możliwe jest podłączenie do bazy MSSQL


function BOOL CheckLoginPass(sServerName, sDBName, sDriver, bTrustedConn, sUserName, sUserPwd, bLog, bPatron)
OBJECT objConn;
STRING sConnString;
STRING szADOConnObjID;
BOOL bResult;
begin
bResult = FALSE;
// Create the connectionstring
if (sDriver == "") then
sConnString = "Provider=sqloledb;";
else
sConnString = "Driver={" + sDriver + "};";
endif;

if (bTrustedConn) then
//ACA_Log_AppendLine(" using Windows Authentication");
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "database=" + sDBName + ";";
sConnString = sConnString + "Trusted_connection=Yes";
else
//ACA_Log_AppendLine(" using SQL Login");
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "uid=" + sUserName + ";";
if bPatron then sUserPwd = GetPatronPass(sUserPwd); endif;
sConnString = sConnString + "pwd=" + sUserPwd + ";";
sConnString = sConnString + "database=" + sDBName;
endif;

try
szADOConnObjID = "ADODB.Connection";
set objConn = CreateObject(szADOConnObjID);

if (IsObject(objConn)) then
objConn.ConnectionString = sConnString;
objConn.Open;
bResult = TRUE; //Połączono
objConn.Close;
endif;

set objConn = NOTHING;

catch
if (bLog) then WriteLog(1," - Nie można uzyskać połączenia z bazą na użytkownika \""+sUserName+"\""); endif;
endcatch;

return bResult;
end;

Brak komentarzy:

Publikowanie komentarza