Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: CL | DM;

Вниз

Упаковка базы Ассеss 2000   Найти похожие ветки 

 
YPS   (2002-04-17 16:15) [0]

Господа ,может кто решал подобную проблему ?
MDE формат не хочу создавать , а MDB с каждой сессией увеличивается на 2 мега (с обновлением,но без добавления данных)
Как эффективно упаковывать и восстанавливать базу ???
Спасибо.


 
Wasp ©   (2002-04-17 16:43) [1]

Могу посоветовать использовать бесплатный компонент KADao, у которого есть методы CompactAccessDatabase(TableName) и RepairAccessDatabase(TableName).
Взять его можно на http://www.delphi.pari.bg/


 
Wasp ©   (2002-04-17 16:44) [2]

Могу посоветовать использовать бесплатный компонент KADao, у которого есть методы CompactAccessDatabase(TableName) и RepairAccessDatabase(TableName).
Взять его можно на http://www.delphi.pari.bg/


 
Wasp ©   (2002-04-17 16:44) [3]

Могу посоветовать использовать бесплатный компонент KADao, у которого есть методы CompactAccessDatabase(TableName) и RepairAccessDatabase(TableName).
Взять его можно на http://www.delphi.pari.bg/


 
Wasp ©   (2002-04-17 16:45) [4]

Могу посоветовать использовать бесплатный компонент KADao, у которого есть методы CompactAccessDatabase(TableName) и RepairAccessDatabase(TableName).
Взять его можно на http://www.delphi.pari.bg/


 
Wasp ©   (2002-04-17 16:46) [5]

Могу посоветовать использовать бесплатный компонент KADao, у которого есть методы CompactAccessDatabase(TableName) и RepairAccessDatabase(TableName).
Взять его можно на http://www.delphi.pari.bg/


 
sniknik ©   (2002-04-17 16:58) [6]

Variant je=CreateOleObject("JRO.JetEngine");

je.OleFunction("CompactDatabase","Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=С:\\NonCompressed.mdb",
"Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=C:\\Compressed.mdb;"
"Jet OLEDB:Encrypt Database=True");


 
SelfDestructor   (2002-04-25 15:58) [7]

sniknik, попробовал я так - вылетает в процессе работы с сообщением "Ошибка" на OleFunction


 
sniknik ©   (2002-04-25 17:47) [8]

перевод с бейсика, попробуй так

var je: Variant;

begin
je:=CreateOleObject("JRO.JetEngine");

je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Base.mdb",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Compressed.mdb;"+
"Jet OLEDB:Encrypt Database=True");

.....


 
SelfDestructor   (2002-04-25 19:42) [9]

нет, так она вообще на синтаксис ругается.
в первом случае в момент выполнения возникало исключение типа EOLESysError с текстом "Ошибка"
Базу перед этим закрывал.


 
sniknik ©   (2002-04-25 23:15) [10]

код без сомнений рабочий, может у тебя этот обект не установлен? не знаю к чему относится (чем его проинсталировать можно) но можеш проверить посмотри в реестре (regedit) есть такой путь к классу? (хоть какой нибудь?)
HKEY_CLASSES_ROOT\JRO.JetEngine
HKEY_CLASSES_ROOT\JRO.JetEngine.2.5
HKEY_CLASSES_ROOT\JRO.JetEngine.2.6
если есть должно работать.
завтра могу пример скинуть если у тебя не получится. (для шестого дельфи, или exe этот точно должен)

а ошибку синтаксиса какую дает?


 
andrucco ©   (2002-04-26 05:19) [11]

Я делаю примерно так:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
OD1: TOpenDialog;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
const
ODBC_ADD_DSN = 1;

implementation

{$R *.DFM}

function SQLConfigDataSource(
hwndParent: HWND;
fRequest: Word;
lpszDriver: LPCStr;
lpszAttributes: LPCStr): Boolean; stdcall; external "ODBCcp32.dll"{"ODBCINST.dll"} name "SQLConfigDataSource";

procedure TForm1.Button1Click(Sender: TObject);
var szDriver: LPCStr;
szAttributes: LPCStr;
begin
Label1.Caption := "Start: "+ DateTimeToStr(Now) + Chr(13);
if OD1.Execute then
begin
Label1.Caption := Label1.Caption + "File to compact: " + OD1.FileName + Chr(13);
szDriver := "Microsoft Access Driver (*.mdb)";
szAttributes := PCHar("COMPACT_DB="+OD1.FileName + " " + OD1.FileName{c:\cbr1\cb.mdb c:\cbr1\cb.mdb General"}+Chr(0)+ Chr(0));
if SQLConfigDataSource(0, ODBC_ADD_DSN, szDriver, szAttributes) then
Label1.Caption := Label1.Caption + "Ok" + Chr(13)
else
Label1.Caption := Label1.Caption + "Error" + Chr(13);;
end;
Label1.Caption := Label1.Caption + "End: " + DateTimeToStr(Now) + Chr(13);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption := "";
end;
end.

Только не должно быть подцепленных клиентов с полным доступом



Страницы: 1 вся ветка

Текущий архив: 2002.05.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
3-73000
Turalyon
2002-04-25 13:36
2002.05.23
SQL Server 2k


3-73036
VikOS
2002-04-26 09:49
2002.05.23
Paradox


4-73467
AFROLOV
2002-03-25 11:28
2002.05.23
Как не пропускать сообщение к чужому приложению


1-73239
Garry
2002-05-10 10:35
2002.05.23
Как отобразить сообщение при наведении мыши на объект?


1-73134
MisterBin
2002-05-12 12:23
2002.05.23
Каким образом можно осуществить такую подсказку: