這篇論壇文章主要介紹了Oracle數據庫到SQL Server數據庫主鍵的遷移過程
由於項目需要要將以前Oracle的數據庫轉化為SQL Server
Server的DTD進行數據庫的遷移
[b]主要控件
ADOConnOrcale: TADOConnection; //連接Oracle
ADOConnSQLServer: TADOConnection; //連接SQL Server
O
S
S
ProgressBar
Memo
EdtServer: TEdit; //服務器
EdtDataBase: TEdit; //數據庫名稱
EdtUser: TEdit; //用戶名
EdtPass: TEdit; //口令
Button
//常量
const
ORAConnStr=
SQLConnStr=
在執行前先進行Oracle和SQL Server數據庫的連接
[b]連接Oracle:[/b]
ADOConnOrcale
trim(EdtUser
try
ADOConnOrcale
MsgBox(
Except
MsgBox(
end;
[b]連接SQL Server:[/b]
ADOConnSQLServer
trim(EdtDataBase
try
ADOConnSQLServer
MsgBox(
except
MsgBox(
end;
主要執行代碼
procedure TForm
var
i:Integer;
FieldN
begin
if Not ADOConnOrcale
begin
MsgBox(
exit;
end;
if not ADOConnSQLServer
begin
MsgBox(
exit;
end;
Screen
try
o
O
//取oracle表用戶budget的所有主鍵約束信息
o
O
tableN:=
O
ProgressBar
ProgressBar
ProgressBar
ProgressBar
for i:=
begin
s
S
//判斷SQL Server表是否存在當前的字段信息
S
S
//不存在
if s
begin
Memo
O
tableN:=
FieldN:=
Continue;
end;
//是當前表
if (tableN=
begin
FieldN:=FieldN+
tableN:= O
end
else
begin
with S
begin
try
//取SQL Server表的主鍵信息
Close;
sql
sql
Open;
first;
aa:=fieldbyname(
//如果該主鍵在SQL表中已存在
if recordcount>
begin
sql
SQL
ExecSQL;
end;
SQL
SQL
ExecSQL;
FieldN:=
tableN:= O
Except
Memo
exit;
end;
end;
end;
ProgressBar
Application
O
end;
MsgBox(
finally
Screen
ProgressBar
end;
end;
From:http://tw.wingwit.com/Article/program/Oracle/201311/17525.html