【网学网提醒】:网学会员为广大网友收集整理了,直接用SQL语句把DBF导入SQLServer,希望对大家有所帮助!
210.45.192.243:8080/ahnubyspq/
直接用SQL语句把DBF导入SQLServer
在SQLServer中执行
SELECT*intobmkFROMOpenDataSource(’Microsoft.Jet.OLEDB.4.0’,’DataSource=”e:share”;UserID=Admin;Password=;Extendedproperties=dBase5.0’)...bmk
这样就可以把e:share中的bmk.dbf表导入到Sqlserver中,
速度是最快的
----------------------------
DBF---->SQLSERVER
droptabledbf
SELECT*intodbf
FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0',
'DataSource="E:SuperDataSuperDate_停电预演rundataEngine东海工程合并";UserID=;Password=;Extendedproperties=dBase5.0')...dbf
go
------------------------------------------------------成功
EXCEL---->SQLSERVER
SELECT*INTOYourTableNameFROM
OPENROWSET('MSDASQL.1','driver=MicrosoftExcelDriver(*.xls);DBQ=D:ExcelBook2.xls',
'select*from[sheet1$]')
------------------------------------------------成功
Access---->SQLServer
INSERTINTOaccess
SELECT*intoaccess
FROMopendatasource('Microsoft.Jet.OLEDB.4.0','DataSource="D:MapX_Web.mdb";JetOLEDB:DatabasePassword=')...Layer_StyleIndex
----------------------------------------------成功
functionTForm1.Boolean_Excel_To_SQLServer_UsingStringList(p_Str_MachineName:String;
p_Str_DataBaseName:String;
p_Str_UserName:String;
p_Str_Password:String;
p_StringList_FileNameAndPath:TStringList;
p_ProgressBar:TProgressBar
):Boolean;
var//false:操作失败
m_ADOConnection:TADOConnection;
m_Str_FileNameAndPath:String;
m_Str_FileName:String;
m_Str_PathName:String;
m_StrSQL:String;
m_StrSQL1:String;
m_Integer_ItemPos:Integer;
begin
m_ADOConnection:=TADOConnection.Create(nil);
m_ADOConnection.ConnectionString:=
'Provider=SQLOLEDB.1;'+
'Password='+p_Str_Password+';'+
'PersistSecurityInfo=True;'+
'UserID='+p_Str_UserName+';'+
'InitialCatalog='+p_Str_DataBaseName+';'+
'DataSource='+p_Str_MachineName;
m_ADOConnection.LoginPrompt:=false;
try
//连接数据库服务器
m_ADOConnection.Connected:=true;
except
ShowMessage('Boolean_DBF_To_SQLServer()::数据库连接出错!');
Result:=false;
Exit;
end;
ifp_ProgressBar<>nilthen
begin
p_ProgressBar.Min:=0;
p_ProgressBar.Max:=p_StringList_FileNameAndPath.Count;
end;
form_Integer_ItemPos:=1top_StringList_FileNameAndPath.Countdo
begin
m_Str_FileNameAndPath:=p_StringList_FileNameAndPath.Strings[m_Integer_ItemPos-1];
m_Str_FileName:=Self.String_GetFileNameFromOneFullFileScript(m_Str_FileNameAndPath);
m_Str_FileName:=Self.String_DeleteExtNameForOneFileName(m_Str_FileName);
m_Str_PathName:=Self.String_GetFilePathFromOneFullFileScript(m_Str_FileNameAndPath);
m_StrSQL:='droptable'+m_Str_FileName;
try
//删除SQLSERVER中对应的原有表(如果有)
m_ADOConnection.Execute(m_StrSQL);
except
end;
{
m_StrSQL:='SELECT*INTO'+m_Str_FileName+
'FROMOpenDataSource(''Microsoft.Jet.
OLEDB.4.0'','+
'''DataSource="'+m_Str_PathName+'";UserID=;Password=;Extendedproperties=dBase5.0'')...'+m_Str_FileName;
}
{
SELECT*INTOYourTableNameFROM
OPENROWSET('MSDASQL.1','driver=MicrosoftExcelDriver(*.xls);DBQ=D:ExcelBook2.xls',
'select*from[sheet1$]')
}
m_StrSQL:='SELECT*INTO'+m_Str_FileName+'FROM'+
'OPENROWSET(''MSDASQL.1'',''driver=MicrosoftExcelDriver(*.xls);DBQ='+m_Str_PathName+m_Str_FileName+'.xls'','+
'''select*from[sheet1$]'')';
{
m_StrSQL1:='SELECT*INTOBook2FROM'+
'OPENROWSET(''MSDASQL.1'',''driver=MicrosoftExcelDriver(*.xls);DBQ=D:ExcelBook2.xls'','+
'''select*from[sheet1$]'')';
}
try
m_ADOConnection.Execute(m_StrSQL);
except
ShowMessage(m_Str_FileName+'表上传出错!');
Result:=false;
Exit
end;
ifp_ProgressBar<>nilthen
begin
p_ProgressBar.Position:=m_Integer_ItemPos;
end;
end;
Result:=true;
end;
functionTForm1.Boolean_DBF_To_SQLServer_UsingStringList(p_Str_MachineName:String;//机器名
p_Str_DataBaseName:String;//数据库名
p_Str_UserName:String;//用户名
p_Str_Password:String;//用户密码
p_StringList_FileNameAndPath:TStringList;//文件名和路径列表
p_ProgressBar:TProgressBar//进度条
):Boolean;//true:操作成功
var//false:操作失败
m_ADOConnection:TADOConnection;
m_Str_FileNameAndPath:String;
m_Str_FileName:String;
m_Str_PathName:String;
m_StrSQL:String;
m_Integer_ItemPos:Integer;
begin
m_ADOConnection:=TADOConnection.Create(nil);
m_ADOConnection.ConnectionString:=
'Provider=SQLOLEDB.1;'+
'Password='+p_Str_Password+';'+
'PersistSecurityInfo=True;'+
'UserID='+p_Str_UserName+';'+
'InitialCatalog='+p_Str_DataBaseName+';'+
'DataSource='+p_Str_MachineName;
m_ADOConnection.LoginPrompt:=false;
try
//连接数据库服务器
m_ADOConnection.Connected:=true;
except
ShowMessage('Boolean_DBF_To_SQLServer()::数据库连接出错!');
Result:=false;
Exit;
end;
ifp_ProgressBar<>nilthen
begin
p_ProgressBar.Min:=0;
p_ProgressBar.Max:=p_StringList_FileNameAndPath.Count;
end;
form_Integer_ItemPos:=1top_StringList_FileNameAndPath.Countdo
begin
m_Str_FileNameAndPath:=p_StringList_FileNameAndPath.Strings[m_Integer_ItemPos-1];
m_Str_FileName:=Self.String_GetFileNameFromOneFullFileScript(m_Str_FileNameAndPath);
m_Str_FileName:=Self.String_DeleteExtNameForOneFileName(m_Str_FileName);
m_Str_PathName:=Self.String_GetFilePathFromOneFullFileScript(m_Str_FileNameAndPath);
m_StrSQL:='droptable'+m_Str_FileName;
try
//删除SQLSERVER中对应的原有表(如果有)
m_ADOConnection.Execute(m_StrSQL);
except
end;
m_StrSQL:='SELECT*INTO'+m_Str_FileName+
'FROMOpenDataSource(''Microsoft.Jet.OLEDB.4.0'','+
'''DataSource="'+m_Str_PathName+'";UserID=;Password=;Extendedproperties=dBase5.0'')...'+m_Str_FileName;
try
m_ADOConnection.Execute(m_StrSQ
L);
except
ShowMessage(m_Str_FileName+'表上传出错!');
Result:=false;
Exit
end;
ifp_ProgressBar<>nilthen
begin
p_ProgressBar.Position:=m_Integer_ItemPos;
end;
end;
Result:=true;
end;
解决“您试图从目录中执行CGI、ISAPI或其他可执行程序...”的问题
本人今日在实验室调试一网页,使用WIN2003INTERNET信息服务(IIS)管理器,在建立一个网站虚拟目录,结果浏览网页时出现错误,错误提示信息如下:
---------------------------------------------------------
该页无法显示
您试图从目录中执行CGI、ISAPI或其他可执行程序,但该目录不允许执行程序。
--------------------------------------------------------------------------------
请尝试以下操作:
如果您认为该目录应该允许执行访问权限,请与网站管理员联系。
HTTP错误403.1-禁止访问:执行访问被拒绝。
Internet信息服务(IIS)
--------------------------------------------------------------------------------
技术信息(为技术支持人员提供)
转到Microsoft产品支持服务并搜索包括“HTTP”和“403”的标题。
打开“IIS帮助”(可在IIS管理器(inetmgr)中访问),然后搜索标题为“配置ISAPI扩展”、“配置CGI应用程序”、“使用网站权限保护站点”和“关于自定义错误消息”的主题。
在IIS软件开发工具包(SDK)或MSDNOnlineLibrary中,搜索标题为“DevelopingISAPIExtensions”、“ISAPIandCGI”和“DebuggingISAPIExtensionsandFilters”的主题。
-------------------------------------------------------------------------------------------------------
经过调试,发觉解决办法其实很简单。解决办法如下:
单击操作系统的开始--程序--管理工具--Interneter服务器管理,在IIS中选择您的站点然后右键--属性,在“主目录”选项中,查看“执行权限”是否设置为“无”,这里改成“纯脚本”保存即可。
本文来自CSDN博客,转载请标明出处:blog.csdn.net/lanmao100/archive/2009/03/18/4000010.aspx