![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Übernehmen der Indizes von Access auf MS-SQL Server möglich?
Liebe Forumsgemeinde,
ich habe alle Access Tables auf MS-SQL Expressserver übernommen und möchte mir ersparen die Indizes jeder einzelnen Tabelle neu zu definieren. Gibt es da eine einfachere Möglichkeit? Danke. |
Re: Übernehmen der Indizes von Access auf MS-SQL Server mögl
Hi !
Auf die schnelle: Ein Minitool zum Auslesen der Tabellen und Indizes einer ADOConnection. Das Formular enthält: Eine AdoConnection, 2 Memos, 1 Button. Nach ButtonKlick enthält Memo1 die Tabellen der ADOConn, Memo2 den Rohentwurf für das SQLScript.
Delphi-Quellcode:
Das ganze über das ClipBoard transferieren und weiterbearbeiten.
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Db, ADODB, AdoConED; type TForm1 = class(TForm) ADOConn: TADOConnection; Memo1: TMemo; Memo2: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.DFM} function StrRepl(st, s1, s2:String):String; var p,l:Integer; begin l:=Length(s1); p:=pos(s1,st); while p>0 do begin st:=Copy(st,1,p-1)+s2+Copy(st,p+l,255); p:=pos(s1,st); end; Result:=st; end; procedure TForm1.Button1Click(Sender: TObject); var i,j:integer; TA:TAdoTable; begin Memo1.Lines.Clear; Memo2.Lines.Clear; ADOConn.Connected:=False; EditConnectionString(AdoConn); ADOConn.Connected:=True; ADOConn.GetTableNames(Memo1.Lines); for i:=0 to Memo1.Lines.Count-1 do begin TA:=TAdoTable.Create(nil); TA.Connection:=ADOConn; TA.TableName:=Memo1.Lines[i]; TA.IndexDefs.Update; for j:=0 to TA.IndexDefs.Count-1 do begin Memo2.Lines.Add('CREATE INDEX "'+ TA.IndexDefs.Items[j].Name+'" ON "dbo"."'+ TA.TableName+'" ("'+ StrRepl(TA.IndexDefs.Items[j].Fields,';','","')+'")'); end; FreeAndNil(TA); end; end; end. Hoffe das hilft überflüssige Tipparbeit zu vermeiden. :coder2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz