执行:
select * into 巡查记录1 from OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source=E:/导入导出/black_hd_catayou_20071128.mdb;Persist Security Info=false;Jet OLEDB:Database Password=;' )...black_client
因为安全机制,sqlserver默认情况下关闭了组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问
正确方法:
procedure TFrmMain.suiButton4Click(Sender: TObject);
var
sql:string;
begin
if assFile = '' then Exit;
sql := 'select * into 巡查记录 from OPENDATASOURCE (''Microsoft.Jet.OLEDB.4.0'', ' +
'''Data Source='+assfile+';Persist Security Info=false;Jet OLEDB:Database Password=;''' +
' )...black_client' ;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
//打开权限
ADOQuery1.SQL.Add('exec sp_configure ''show advanced options'',1');
ADOQuery1.SQL.Add('reconfigure');
ADOQuery1.SQL.Add('exec sp_configure ''Ad Hoc Distributed Queries'',1');
ADOQuery1.SQL.Add('reconfigure');
ADOQuery1.ExecSQL;
//执行sql语句
ADOQuery1.clsoe;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.ExecSQL;
//关闭权限
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('exec sp_configure ''show advanced options'',0');
ADOQuery1.SQL.Add('reconfigure');
ADOQuery1.SQL.Add('exec sp_configure ''Ad Hoc Distributed Queries'',0');
ADOQuery1.SQL.Add('reconfigure');
ADOQuery1.ExecSQL;

end;
select * into 巡查记录1 from OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source=E:/导入导出/black_hd_catayou_20071128.mdb;Persist Security Info=false;Jet OLEDB:Database Password=;' )...black_client
因为安全机制,sqlserver默认情况下关闭了组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问
正确方法:






























