直接用SQL语句把DBF导入SQLServer
直接用SQL语句把DBF导入SQLServer 在SQLServer中执行 SELECT * into bmk FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,’Data Source=”e:share”;User ID=Admin;Password=;Extended properties=dBase 5.0’)...bmk 这样就可以把e:share中的bmk.dbf表导入到Sqlserver中, 速度是最快的
----------------------------
DBF ----> SQL SERVER drop table dbf SELECT * into dbf FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source="E:SuperDataSuperDate_停电预演rundataEngine东海工程合并";User ID=;Password=;Extended properties=dBase 5.0')...dbf go
------------------------------------------------------成功
EXCEL ----> SQL SERVER
SELECT * INTO YourTableName FROM OPENROWSET('MSDASQL.1', 'driver=Microsoft Excel Driver (*.xls);DBQ=D:ExcelBook2.xls', 'select * from [sheet1$]')
------------------------------------------------成功
Access ---->SQL Server INSERT INTO access SELECT * into access FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:MapX_Web.mdb";Jet OLEDB:Database Password=')...Layer_StyleIndex ----------------------------------------------成功
function TForm1.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 + ';' + 'Persist Security Info=True;' + 'User ID=' + p_Str_UserName + ';' + 'Initial Catalog=' + p_Str_DataBaseName + ';' + 'Data Source=' + p_Str_MachineName; m_ADOConnection.LoginPrompt := false; try //连接数据库服务器 m_ADOConnection.Connected := true; except ShowMessage('Boolean_DBF_To_SQLServer()::数据库连接出错!'); Result := false; Exit; end;
if p_ProgressBar <> nil then begin p_ProgressBar.Min := 0; p_ProgressBar.Max := p_StringList_FileNameAndPath.Count; end; for m_Integer_ItemPos := 1 to p_StringList_FileNameAndPath.Count do 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 := 'drop table ' + m_Str_FileName; try //删除SQLSERVER中对应的原有表(如果有) m_ADOConnection.Execute(m_StrSQL); except end; { m_StrSQL := 'SELECT * INTO ' + m_Str_FileName + ' FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'', ' + '''Data Source="' + m_Str_PathName + '";User ID=;Password=;Extended properties=dBase 5.0'')...' + m_Str_FileName; } { SELECT * INTO YourTableName FROM OPENROWSET('MSDASQL.1', 'driver=Microsoft Excel Driver (*.xls);DBQ=D:ExcelBook2.xls', 'select * from [sheet1$]') } m_StrSQL := 'SELECT * INTO ' + m_Str_FileName + ' FROM ' + 'OPENROWSET(''MSDASQL.1'', ''driver=Microsoft Excel Driver (*.xls);DBQ=' + m_Str_PathName + m_Str_FileName + '.xls'',' + '''select * from [sheet1$]'')'; { m_StrSQL1 := 'SELECT * INTO Book2 FROM ' + 'OPENROWSET(''MSDASQL.1'', ''driver=Microsoft Excel Driver (*.xls);DBQ=D:ExcelBook2.xls'',' + '''select * from [sheet1$]'')'; } try m_ADOConnection.Execute(m_StrSQL); except ShowMessage(m_Str_FileName + ' 表 上传出错!'); Result := false; Exit end; if p_ProgressBar <> nil then begin p_ProgressBar.Position := m_Integer_ItemPos; end; end;
Result := true; end;
function TForm1.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 + ';' + 'Persist Security Info=True;' + 'User ID=' + p_Str_UserName + ';' + 'Initial Catalog=' + p_Str_DataBaseName + ';' + 'Data Source=' + p_Str_MachineName; m_ADOConnection.LoginPrompt := false; try //连接数据库服务器 m_ADOConnection.Connected := true; except ShowMessage('Boolean_DBF_To_SQLServer()::数据库连接出错!'); Result := false; Exit; end;
if p_ProgressBar <> nil then begin p_ProgressBar.Min := 0; p_ProgressBar.Max := p_StringList_FileNameAndPath.Count; end; for m_Integer_ItemPos := 1 to p_StringList_FileNameAndPath.Count do 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 := 'drop table ' + m_Str_FileName; try //删除SQLSERVER中对应的原有表(如果有) m_ADOConnection.Execute(m_StrSQL); except end; m_StrSQL := 'SELECT * INTO ' + m_Str_FileName + ' FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'', ' + '''Data Source="' + m_Str_PathName + '";User ID=;Password=;Extended properties=dBase 5.0'')...' + m_Str_FileName; try m_ADOConnection.Execute(m_StrSQL); except ShowMessage(m_Str_FileName + ' 表 上传出错!'); Result := false; Exit end; if p_ProgressBar <> nil then begin p_ProgressBar.Position := m_Integer_ItemPos; end; end;
Result := true; end;
解决“您试图从目录中执行CGI、ISAPI 或其他可执行程序...”的问题 本人今日在实验室调试一网页,使用WIN2003 INTERNET信息服务(IIS)管理器,在建立一个网站虚拟目录,结果浏览网页时出现错误,错误提示信息如下: ---------------------------------------------------------
该页无法显示
您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序。
--------------------------------------------------------------------------------
请尝试以下操作:
如果您认为该目录应该允许执行访问权限,请与网站管理员联系。 HTTP 错误 403.1 - 禁止访问:执行访问被拒绝。 Internet 信息服务 (IIS)
--------------------------------------------------------------------------------
技术信息(为技术支持人员提供)
转到 Microsoft 产品支持服务并搜索包括“HTTP”和“403”的标题。 打开“IIS 帮助”(可在 IIS 管理器 (inetmgr) 中访问),然后搜索标题为“配置 ISAPI 扩展”、“配置 CGI 应用程序”、“使用网站权限保护站点”和“关于自定义错误消息”的主题。 在 IIS 软件开发工具包 (SDK) 或 MSDN Online Library 中,搜索标题为“Developing ISAPI Extensions”、“ISAPI and CGI”和“Debugging ISAPI Extensions and Filters”的主题。 -------------------------------------------------------------------------------------------------------
经过调试,发觉解决办法其实很简单。解决办法如下:
单击操作系统的开始--程序--管理工具--Interneter服务器管理,在IIS中选择您的站点然后右键--属性,在“主目录”选项中,查看“执行权限”是否设置为“无”,这里改成“纯脚本”保存即可。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lanmao100/archive/2009/03/18/4000010.aspx
直接用SQL语句把DBF导入SQLServer的更多相关文章
- (转载)直接用SQL语句把DBF导入SQLServer
告诉大家一个直接用SQL语句把DBF导入SQLServer,以及txt导入Access的方法,大家抛弃BatchMove吧来自:碧血剑告诉你一个最快的方法,用SQLServer连接DBF在SQLSer ...
- 解决 微信包含emoji表情的昵称,直接用sql语句可以写入而在yii2框架写却写不成功的 问题
背景: 首先是emoji表情写入不成功,在网上查了许多资料,包括配置mysql,重启mysql等等,这样之后发现还是写入失败. 将sql语句复制出来,直接粘贴到mysql客户端执行,发现没问题.而通过 ...
- otl下直接用sql查询语句无法查询最新的记录的问题
最近操作mysql数据库遇到了一个很奇葩的问题,由于我的程序里需要实时读取最新的记录,所以我在程序中采用定时器每20秒读一遍数据库,但是发现除了第一次初始化读取数据库成功以外,后面最新的记录全部都读不 ...
- 同样的一句SQL语句在pl/sql 代码块中count 没有数据,但是直接用SQl 执行却可以count 得到结果
pl/sql 代码块: SELECT count(distinct t2.so_nbr) INTO v_count2 FROM KFGL_YW_STEP_qd t2 WHERE t2.partitio ...
- dbf导入sqlserver的方法
1. dbf导出为foxpro2.x. 2.打开excel,点击打开,选择dbase文件,选中第一步保存的文件. 3.另存为xls格式 4.使用sql的dts导入xls.
- sql语句(Oracle和sqlserver)
查询表的首句:(Oracle) select * from (select a.*, rownum as rn from tab_name a order by col )where rn = 1 o ...
- 用SQL语句从电脑导入图片到数据库
--创建图片表 CREATE TABLE W_PIC ( ID INT, --编号 WPATH ), --完整路径 PIC ), --图片名称,不带后缀 img image --图片内容 ) --图片 ...
- 3种SQL语句分页写法
在开发中经常会使用到数据分页查询,一般的分页可以直接用SQL语句分页,当然也可以把分页写在存储过程里,下面是三种比较常用的SQL语句分页方法,下面以每页5条数据,查询第3页为例子: 第一种:使用not ...
- 《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件
<万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 用SQL语句来直接访问文本文件?是在做梦吗? ...
随机推荐
- Asp.net MVC 实现JSONP
JSONP可以帮我们解决跨域访问的问题.JSONP is JSON With Padding. 这里我们将不再解释其原理.我们来看在ASP.NET MVC 3 如何实现.首先我们需要定义一个Jsonp ...
- PDF文档过期时间/自毁设置
不是很完美的方法,可以凑活着用: 切换到Pages预览页,右击页面选页面属性 切换到Action,选Run a Javascript,代码: // PDF JavaScript to make it ...
- 用IdHTTPServer搞个简单的WEB服务器下载文件
放在公司共享盘中的文件,不时就被其他人剪切走了,本想用Apache搭个服务端,提供文件下载的功能,写php脚本时碰到点问题,没折腾出来,一狠心,用Indy的IdHttpServer写.不过中间也碰到了 ...
- 何时使用padding和margin
先看看这张图: 重点其实是background-image CSS边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时改变所有的外边距. ...
- LOJ2360. 「NOIP2016」换教室【概率DP】【Floyed】【傻逼题】
LINK 思路 先floyed出两点最短路 然后就可以直接\(dp_{i,j,0/1}\)表示前i节课选择换j节,换不换当前这一节的最小贡献 直接可以枚举上一次决策的状态计算概率进行统计就可以了 我变 ...
- BZOJ2154 Crash的数字表格 【莫比乌斯反演】
BZOJ2154 Crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b) ...
- BZOJ2049 SDOI2008 Cave 洞穴勘测 【LCT】
BZOJ2049 SDOI2008 Cave 洞穴勘测 Description 辉辉热衷于洞穴勘测.某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分 ...
- Hadoop1.x安装配置文件及参数说明
一.常用文件及参数说明Core-site.xml 配置Common组件的属性 hdfs-site.xml 配置hdfs参数,比如备份数目,镜像存放路径 Mapred-sit ...
- springboot: 集成jdbc
1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...
- [LeetCode系列]组合和枚举问题
给定一列数(未排序)和一个目标值, 找出所有可能的组合和等于目标值的组合, 数组中的数可以重复使用. 算法思路: 使用递归. 对数组排序, 从小到大; 令i = 起始下标(初始为0), 对于每一个数, ...