异构数据库之间完全可以用SQL语句导数据。大家抛弃BatchMove吧 如果觉得好请Up一下,如果觉得不好也请Up一下 (1分)

  • 主题发起人 碧血剑
  • 开始时间
L

llo2003

Unregistered / Unconfirmed
GUEST, unregistred user!
sql server -->> oracle

?????
 
H

hunyuan

Unregistered / Unconfirmed
GUEST, unregistred user!
Access To Access
如果源Access有密码怎么办啊?
 

林妹妹

Unregistered / Unconfirmed
GUEST, unregistred user!
wind2000 写的access to oracle 程序好复杂我看不懂,只将数据导入以下写法为何出错?
query.sql.add(' SELECT * into bmk ') ;
query.sql.add('FROM OpenDataSource( 'Provider=Microsoft.Jet.OLEDB.4.0; ');
query.sql.add('Data Source=c:/temp/db1.mdb;Persist Security Info=False ' );


 
S

Smile.java

Unregistered / Unconfirmed
GUEST, unregistred user!
Access To Access
如果源Access有密码怎么办啊?

Access To Access
如果源Access有密码怎么办啊?
 
F

ffanpeng

Unregistered / Unconfirmed
GUEST, unregistred user!
从Excel导数据到SQL2000中的出错:
SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:/INVB/b.xls";Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...sheet1$
====
在SQL-Query中执行出错误信息如下:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: 提供程序未给出有关错误的任何信息。]。
这怎摸解决
 
P

pacific1979

Unregistered / Unconfirmed
GUEST, unregistred user!
搂主:两个paradox的数据表A和B,不用batchmove如何把A的数据导入到B啊(A和B的结构相同,做到主索引相同的更新,不同的插入) 急需 谢谢搂主了
 
W

wchal

Unregistered / Unconfirmed
GUEST, unregistred user!
TO:pacific1979
下面是我程序中的一段程式中的代碼,功能和你說的一至.

MDDATA.ADOQuery2.Close;
MDDATA.ADOQuery2.SQL.Text:='select ZLDLDC.流水號,ZLDLDC.出貨日期 from ZLDLDC,YJJDK where ZLDLDC.流水號=YJJDK.流水號';
MDDATA.ADOQuery2.Open;
ProgressBar1.Min:=0;
ProgressBar1.Max:=MDDATA.ADOQuery2.RecordCount;
ProgressBar1.Position:=0;
for i:=1 to MDDATA.ADOQuery2.RecordCount do//有的更新出貨日期
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
MDDATA.ADOQuery1.Close;
MDDATA.ADOQuery1.SQL.Text:='update YJJDK set 出貨日期= :RQ where (出貨日期 is NULL)and(流水號= :LSH)';
MDDATA.ADOQuery1.Parameters.ParamByName('LSH').Value:=MDDATA.ADOQuery2.Fields[0].Value;
MDDATA.ADOQuery1.Parameters.ParamByName('RQ').Value:=MDDATA.ADOQuery2.Fields[1].Value;
MDDATA.ADOQuery1.ExecSQL;
MDDATA.ADOQuery2.Next;
end;

MDDATA.ADOQuery1.Close;//一次性插入沒有的
MDDATA.ADOQuery1.SQL.Text:='insert into YJJDK select * from ZLDLDC where ZLDLDC.流水號 not in(select YJJDK.流水號 from YJJDK)';
MDDATA.ADOQuery1.ExecSQL;
//ZLDLDC和YJJDK是兩個表名你的操作只要用SQL語句就可以搞定
 
S

Smile.java

Unregistered / Unconfirmed
GUEST, unregistred user!
Access To Access
如果源Access有密码怎么办啊?

Access To Access
如果源Access有密码怎么办啊?

Access To Access
如果源Access有密码怎么办啊?

Access To Access
如果源Access有密码怎么办啊?

非常着急,谢谢各位!

用OpenDataSource方式总提示From语句错误
ADOConnect.Execute('select * into DataUp_Company from OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="c:/test.mdb";Persist Security Info=False;Jet OLEDB:Database Password=hi'')...Data_Company');
 

吉祥雨

Unregistered / Unconfirmed
GUEST, unregistred user!
好帖!!!

我也想完成Oracle to Oracle的功能。我还不会用ADO,要想实现有选择的
导入导出应如何做?
 
M

memories

Unregistered / Unconfirmed
GUEST, unregistred user!
顶。
强人ing...
 
C

chenshaizi

Unregistered / Unconfirmed
GUEST, unregistred user!
to:Smile.java,
来自:chenshaizi, 时间:2003-10-29 22:03:00, ID:2260739 | 编辑
看我的
adoconnection2.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=g:/server.xc;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=123456;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
adoconnection2.connected:=true;
ADOConnection2.Execute(
'select * into admina from [G:/server_data.mdb;Pwd=123456].admin');
目标数据库不能存在相同的表



来自:chenshaizi, 时间:2003-10-29 22:04:00, ID:2260749 | 编辑
还有更好的办法
ADOConnection2.connectionstring:='同上'
ADOConnection2.Execute(
'insert into admin select * from [G:/server_data.mdb;Pwd=123456].admin');
同一个表操作
这只是简单的复制操作,主键它不认,
 
F

feelfly

Unregistered / Unconfirmed
GUEST, unregistred user!
急问请问如何从sqlserver像这样导入MYSQL?MYSQL只有insert into ..select可以吗?
在线等,谢谢
 
W

wind2000

Unregistered / Unconfirmed
GUEST, unregistred user!
1.前一段去兰州出差了,所以有些问题没法及时回答,抱歉!
2.明天去泰港澳游了,高兴,发一段代码上来供大家参考!
3.以前测试过,大部分可以用,但也不敢担保一定可以正常运行,我现在也没有环境重新测试,只好你们自已试试了,有些参数自已要改的,我就不写了,有什么问题等半个月后我再来看看!

[FRM]
object Form1: TForm1
Left = 194
Top = 126
Width = 544
Height = 375
Caption = '异构数据库数据互导'
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = '宋体'
Font.Style = []
OldCreateOrder = False
OnCloseQuery = FormCloseQuery
PixelsPerInch = 96
TextHeight = 12
object labTime: TLabel
Left = 48
Top = 312
Width = 6
Height = 12
end
object GroupBox1: TGroupBox
Left = 8
Top = 8
Width = 220
Height = 153
Caption = ' Access '
TabOrder = 0
object Button1: TButton
Left = 15
Top = 23
Width = 90
Height = 25
Caption = 'Access->TXT'
TabOrder = 0
OnClick = Button1Click
end
object Button3: TButton
Left = 15
Top = 55
Width = 90
Height = 25
Caption = 'Access->DBF'
TabOrder = 1
OnClick = Button3Click
end
object Button4: TButton
Left = 15
Top = 120
Width = 90
Height = 25
Caption = 'Access->Access'
TabOrder = 3
OnClick = Button4Click
end
object Button2: TButton
Left = 112
Top = 23
Width = 90
Height = 25
Caption = 'TXT->Access'
TabOrder = 4
OnClick = Button2Click
end
object Button5: TButton
Left = 112
Top = 55
Width = 90
Height = 25
Caption = 'DBF->Access'
TabOrder = 5
OnClick = Button5Click
end
object Button9: TButton
Left = 15
Top = 88
Width = 90
Height = 25
Caption = 'Access->Excel'
TabOrder = 2
OnClick = Button9Click
end
object Button10: TButton
Left = 112
Top = 88
Width = 90
Height = 25
Caption = 'Excel->Access'
TabOrder = 6
OnClick = Button10Click
end
end
object GroupBox2: TGroupBox
Left = 256
Top = 8
Width = 217
Height = 153
Caption = ' Oracle '
TabOrder = 1
object Button6: TButton
Left = 16
Top = 88
Width = 90
Height = 25
Caption = 'Oracle->Access'
TabOrder = 2
OnClick = Button6Click
end
object Button7: TButton
Left = 16
Top = 23
Width = 90
Height = 25
Caption = 'Oracle->TXT'
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = '宋体'
Font.Style = []
ParentFont = False
TabOrder = 0
OnClick = Button7Click
end
object Button8: TButton
Left = 16
Top = 120
Width = 90
Height = 25
Caption = 'Oracle->Excel'
TabOrder = 3
OnClick = Button8Click
end
object Button11: TButton
Left = 16
Top = 55
Width = 90
Height = 25
Caption = 'Oracle->DBF'
TabOrder = 1
OnClick = Button11Click
end
object Button12: TButton
Left = 112
Top = 23
Width = 90
Height = 25
Caption = 'TXT->Oracle'
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = '宋体'
Font.Style = []
ParentFont = False
TabOrder = 4
OnClick = Button12Click
end
object Button13: TButton
Left = 112
Top = 55
Width = 90
Height = 25
Caption = 'DBF->Oracle'
TabOrder = 5
OnClick = Button13Click
end
object Button14: TButton
Left = 112
Top = 87
Width = 90
Height = 25
Caption = 'Access->Oracle'
TabOrder = 6
OnClick = Button14Click
end
object Button15: TButton
Left = 112
Top = 120
Width = 90
Height = 25
Caption = 'Excel->Oracle'
TabOrder = 7
OnClick = Button15Click
end
end
object StatusBar: TStatusBar
Left = 0
Top = 329
Width = 536
Height = 19
Panels = <
item
Text = '耗时:'
Width = 32
end
item
Width = 100
end
item
Width = 50
end>
SimplePanel = False
end
object Button16: TButton
Left = 24
Top = 176
Width = 90
Height = 25
Caption = 'TXT->DBF'
TabOrder = 3
OnClick = Button16Click
end
object AccessConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=E:/Delp' +
'hilx/ADOSQL/PH/demo.mdb;Persist Security Info=True'
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
OnExecuteComplete = AccessConnectionExecuteComplete
OnWillExecute = AccessConnectionWillExecute
Left = 228
Top = 95
end
object ExcelConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:/aaa.xls;Extended' +
' Properties=Excel 8.0;Persist Security Info=False'
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
OnExecuteComplete = AccessConnectionExecuteComplete
OnWillExecute = AccessConnectionWillExecute
Left = 228
Top = 128
end
object TxtConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=f:/temp' +
';Extended Properties="text;HDR=YES;FMT=Delimited";Persist Securi' +
'ty Info=True'
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
OnExecuteComplete = AccessConnectionExecuteComplete
OnWillExecute = AccessConnectionWillExecute
Left = 228
Top = 31
end
object DBFConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:/;Extended Proper' +
'ties=DBase 5.0;Persist Security Info=False'
LoginPrompt = False
Provider = 'Microsoft.Jet.OLEDB.4.0'
OnExecuteComplete = AccessConnectionExecuteComplete
OnWillExecute = AccessConnectionWillExecute
Left = 228
Top = 63
end
object OracleConnection: TADOConnection
ConnectionString =
'Provider=MSDASQL.1;Password=bklskf;Persist Security Info=True;Us' +
'er ID=bklskf;Data Source=bkls'
Provider = 'MSDASQL.1'
Left = 228
Top = 161
end
end

[Unit]
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ComCtrls;

type
TForm1 = class(TForm)
AccessConnection: TADOConnection;
GroupBox1: TGroupBox;
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button2: TButton;
Button5: TButton;
GroupBox2: TGroupBox;
Button6: TButton;
Button7: TButton;
labTime: TLabel;
StatusBar: TStatusBar;
ExcelConnection: TADOConnection;
Button8: TButton;
TxtConnection: TADOConnection;
Button9: TButton;
Button10: TButton;
Button11: TButton;
DBFConnection: TADOConnection;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
OracleConnection: TADOConnection;
Button16: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure AccessConnectionExecuteComplete(Connection: TADOConnection;
RecordsAffected: Integer; const Error: Error;
var EventStatus: TEventStatus; const Command: _Command;
const Recordset: _Recordset);
procedure AccessConnectionWillExecute(Connection: TADOConnection;
var CommandText: WideString; var CursorType: TCursorType;
var LockType: TADOLockType; var CommandType: TCommandType;
var ExecuteOptions: TExecuteOptions; var EventStatus: TEventStatus;
const Command: _Command; const Recordset: _Recordset);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1 : TForm1;
sSql : string;
iT1, iT2 : integer;

implementation

{$R *.dfm}

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
TxtConnection.Close;
DBFConnection.Close;
AccessConnection.Close;
ExcelConnection.Close;
end;

procedure TForm1.AccessConnectionExecuteComplete(Connection: TADOConnection;
RecordsAffected: Integer; const Error: Error;
var EventStatus: TEventStatus; const Command: _Command;
const Recordset: _Recordset);
begin
//记时1
iT2 := GetTickCount;
StatusBar.Panels[1].Text := FormatFloat('#,##', iT2 - iT1) + '毫秒';
StatusBar.Panels[2].Text := '共导记录:' + IntToStr(RecordsAffected) + '条';
end;

procedure TForm1.AccessConnectionWillExecute(Connection: TADOConnection;
var CommandText: WideString; var CursorType: TCursorType;
var LockType: TADOLockType; var CommandType: TCommandType;
var ExecuteOptions: TExecuteOptions; var EventStatus: TEventStatus;
const Command: _Command; const Recordset: _Recordset);
begin
iT1 := GetTickCount;
end;

//=================================================================
//Access
//Access->TXT
procedure TForm1.Button1Click(Sender: TObject);
begin
sSql := 'select * into [Text;Database=f:/].aaa.txt from demo';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Access->DBF
procedure TForm1.Button3Click(Sender: TObject);
begin
sSql := 'select * into aaa in ''f:/'' ''dbase 5.0;'' from demo';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Access->Excel
//注意:前一个aaa为Excel文件中的aaa页,后一个aaa为Access文件demo.mdb中的一个表名
procedure TForm1.Button9Click(Sender: TObject);
begin
sSql :=
'select * into aaa from aaa in ''E:/Delphilx/ADOSQL/PH/demo.mdb''';
with ExcelConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Access->Access
procedure TForm1.Button4Click(Sender: TObject);
begin
sSql := 'select * into aaa from demo in ''E:/Delphilx/ADOSQL/PH/demo.mdb''';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//TXT->Access
procedure TForm1.Button2Click(Sender: TObject);
begin
sSql := 'select * into uform from [Text;Database=f:/].form.txt';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//DBF->Access
procedure TForm1.Button5Click(Sender: TObject);
begin
sSql := 'select * into aaa from aaa in ''f:/'' ''dbase 5.0;''';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Excel->Access
//[aaa$]->Excel文件aaa.xls中的aaa页
procedure TForm1.Button10Click(Sender: TObject);
begin
sSql :=
'select * into bbb from [excel 8.0;database=f:/aaa.xls].[aaa$]';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//=================================================================
//Oracle
//Oracle->Access
procedure TForm1.Button6Click(Sender: TObject);
begin
sSql :=
'select * into ouform from ouform in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bklskf;PWD=bklskf;SERVER=bkls;]';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Oracle->TXT
procedure TForm1.Button7Click(Sender: TObject);
begin
sSql := 'select VGH,VXM,VMM into lsygb.txt from (select * from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=BKLS;PWD=BKLS;SERVER=BKLS;])';
// sSql :=
// 'select * into form.txt from ouform in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bklskf;PWD=bklskf;SERVER=bkls;]';
with TxtConnection do
begin
Close;
Connected := True;
Execute(sSql);
end;
end;

//Oracle->Excel
procedure TForm1.Button8Click(Sender: TObject);
begin
sSql :=
'select * into aaa from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;]';
with ExcelConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Oracle->DBF
procedure TForm1.Button11Click(Sender: TObject);
begin
sSql :=
'select * into aaa from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;]';
with DBFConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//TXT->Oracle
//Oracle数据库注意要将表名大写!不然创建出来的表可以看到表名但无法打开
procedure TForm1.Button12Click(Sender: TObject);
begin
sSql := 'select * into PH_TXT in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from ph_txt.txt';
with TxtConnection do
begin
Close;
Connected := True;
Execute(sSql);
end;
end;

//DBF->Oracle
procedure TForm1.Button13Click(Sender: TObject);
begin
sSql :=
'select * into PH_DBF in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa';
with DBFConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Access->Oracle
procedure TForm1.Button14Click(Sender: TObject);
begin
sSql :=
'select * into PH_ACCESS in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

//Excel->Oracle
procedure TForm1.Button15Click(Sender: TObject);
begin
// 'select * into MLB in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=BKLS;PWD=BKLS;Server=BKLS;] from MLB'
//Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:/aaa.xls;Extended Properties=Excel 8.0;Persist Security Info=False
sSql :=
'select * into PH_EXCEL in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa';
with ExcelConnection do
begin
Connected := True;
Execute(sSql);
end;
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
sSql := 'select * into qxb in ''f:/'' ''dbase 5.0;'' from lsqxb.txt';
with TXTConnection do
begin
// Close;
// ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=f:/temp;Extended Properties="text;HDR=YES;FMT=Delimited";Persist Security Info=True';
Connected := True;
Execute(sSql);
end;
end;

end.
 
F

feelfly

Unregistered / Unconfirmed
GUEST, unregistred user!
急问请问如何从sqlserver像这样导入MYSQL?MYSQL只有insert into ..select可以吗?
在线等,谢谢
 
Z

zyjsjwl

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将VFP 6.0的表导入SQL SERVER 2000?
怎么总提示有程序以独占方式打开该表
 
F

fanronghua

Unregistered / Unconfirmed
GUEST, unregistred user!
你们说要SQL SERVER 2000,我没有,我只有access2000,excel,delphi6,怎么把excel导入到access表里去啊,要不要创建表,我想要字段对应
如:(access)gz-------工资(excel)
 
J

jiaojh

Unregistered / Unconfirmed
GUEST, unregistred user!
以上的问题都是解决 ADO 的方法,
有没有可以保存 SocketConnection1 中查询的数据的方法?
Clientdatabaset 是通过DCOMConnection 从服务器端查询到的数据, TABLE 是指向 本地磁盘中绝对路径的DBF表,如何将Clientdatabaset连接到 SocketConnection1中数据保存到本地 TABLE 中.
 
J

jiaojh

Unregistered / Unconfirmed
GUEST, unregistred user!
想收到 EMAIL .所以在发一次.
 
W

Wizard00

Unregistered / Unconfirmed
GUEST, unregistred user!
收藏,感动!
 
顶部