执行:
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' 的访问
正确方法:
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;
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;