Форум: "Базы";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Внизподключение к SQL серверу в консольном приложении Найти похожие ветки
← →
Valeris (2003-01-17 11:20) [0]Подскажите пожалуйста, где можно посмотреть пример подключения к SQL серверу в консольном приложении. Просто необходимо написать консольное приложение которое на основе параметров переданной в командной строке и добавляло в SQL таблицу запись. Помогите плиз как лучше всего это релизовать.
← →
Valeris (2003-01-17 13:24) [1]Кто-нибудь
← →
passm (2003-01-17 13:34) [2]Valeris (17.01.03 13:24)> Ok. Пример работы с DB2, но с MS SQL будет похоже.
program db2drpkg;
uses
dbtables, SysUtils, RxQuery, Db;
type
TMyClass = class
public
procedure ScriptError(Sender: TObject; E: EDatabaseError; LineNo, StatementNo: Integer;
var Action: TScriptAction);
end;
procedure TMyClass.ScriptError(Sender: TObject;
E: EDatabaseError; LineNo, StatementNo: Integer; var Action: TScriptAction);
begin
Action:= saIgnore
end;
function GetParam(const ParamName: string): string;
var
i: Integer;
begin
Result:= "";
for i:= 1 to ParamCount do
if UpperCase(ParamStr(i)) = UpperCase(ParamName) then
Result:= ParamStr(i + 1)
end;
const
DriverName = "DB2";
var
Database: TDatabase;
SQLScript: TSQLScript;
Query: TQuery;
MyClass: TMyClass;
begin
Database:= TDatabase.Create(nil);
Database.DriverName:= DriverName;
Database.DatabaseName:= "MyDatabase";
Database.LoginPrompt:= False;
Database.Session.GetDriverParams(DriverName, Database.Params);
Database.Params.Values["DB2 DSN"]:= UpperCase(ParamStr(1));
Database.Params.Values["USER NAME"]:= GetParam("/u");
Database.Params.Values["PASSWORD"]:= GetParam("/p");
Database.Connected:= True;
Query:= TQuery.Create(nil);
Query.DatabaseName:= Database.DatabaseName;
SQLScript:= TSQLScript.Create(nil);
SQLScript.DatabaseName:= Database.DatabaseName;
MyClass:= TMyClass.Create;
SQLScript.OnScriptError:= MyClass.ScriptError;
Query.SQL.Text:= "SELECT VARCHAR(RTRIM(PKGSCHEMA)||"".""||RTRIM(PKGNAME), 17) AS NAME" +
#13 + "FROM SYSCAT.PACKAGES";
Query.Open;
while not(Query.Eof) do
begin
SQLScript.SQL.Add("/");
SQLScript.SQL.Add("DROP PACKAGE " + Query.FieldByName("NAME").AsString);
Query.Next
end;
if SQLScript.SQL.Count > 0 then
begin
SQLScript.SQL.Delete(0);
SQLScript.ExecSQL
end;
Database.Connected:= False;
Query.Free;
SQLScript.Free;
Database.Free
end.
← →
Valeris (2003-01-17 13:54) [3]Снимаю шляпу
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c