home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
ASCIIS.ZIP
/
CREAT1.SQM
< prev
next >
Wrap
Text File
|
1992-11-20
|
2KB
|
67 lines
IMPLEMENTATION MODULE Creat1;
FROM Lib IMPORT Fill,ParamCount,ParamStr;
FROM Str IMPORT Pos,Copy,Append,Length,Slice,Delete,Subst;
FROM Strings IMPORT Crunch,CRLF;
FROM FIO IMPORT Open,Create,RdStr,File,Close,Exists,
MkDir,ChDir,IOcheck,RdBin;
FROM IO IMPORT WrStr,WrLn;
FROM SQLEnv IMPORT SQLGSTRD,SQLGSTDM;
FROM SQLStuff IMPORT SQLErrorHandler;
IMPORT SQLPREP;
EXEC SQL WHENEVER SQLERROR GOTO error;
EXEC SQL INCLUDE SQLDA;
TYPE
CharSet = SET OF CHAR;
CONST
SQLChars = CharSet{'0'..'9','A'..'Z','a'..'z',':',',','.','_','*',
'^','=','>','<','(',')','"',"'",'/','+','-',';'};
VAR
J : CARDINAL;
Tmp : ARRAY[0..2000] OF CHAR;
DBName : ARRAY[0..30] OF CHAR; (*Name OF database - input param 1 *)
InFileName: ARRAY[0..65] OF CHAR; (* name OF sql file - input param 2*)
F : File;
Sz : CARDINAL;
PROCEDURE ProcessCmd();
BEGIN
ParamStr(DBName,1);
ParamStr(InFileName,2);
Crunch(InFileName);
Crunch(DBName);
RC := SQLGSTRD(0,Length(DBName),'S',SQLca,NIL,DBName);
IF SQLca.sqlcode <> 0
THEN HALT;
END;
Append(InFileName,'.sql');
F := Open(InFileName);
Close(F);
Sz := RdBin(F,Tmp,SIZE(Tmp));
FOR J := 0 TO Length(Tmp) DO
IF NOT (Tmp[J] IN SQLChars)
THEN Tmp[J] := ' ';
END;
END;
WHILE Pos(Tmp,';') < MAX(CARDINAL) DO
Slice(Cmd,Tmp,0,Pos(Tmp,';'));
Delete(Tmp,0,Pos(Tmp,';') + 2);
WrLn();
WrStr('Processing SQL Statement ');
WrLn();
WrStr(Cmd);
EXEC SQL EXECUTE IMMEDIATE :Cmd;
END;
END ProcessCmd;
END Creat1.