直接用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的更多相关文章

  1. (转载)直接用SQL语句把DBF导入SQLServer

    告诉大家一个直接用SQL语句把DBF导入SQLServer,以及txt导入Access的方法,大家抛弃BatchMove吧来自:碧血剑告诉你一个最快的方法,用SQLServer连接DBF在SQLSer ...

  2. 解决 微信包含emoji表情的昵称,直接用sql语句可以写入而在yii2框架写却写不成功的 问题

    背景: 首先是emoji表情写入不成功,在网上查了许多资料,包括配置mysql,重启mysql等等,这样之后发现还是写入失败. 将sql语句复制出来,直接粘贴到mysql客户端执行,发现没问题.而通过 ...

  3. otl下直接用sql查询语句无法查询最新的记录的问题

    最近操作mysql数据库遇到了一个很奇葩的问题,由于我的程序里需要实时读取最新的记录,所以我在程序中采用定时器每20秒读一遍数据库,但是发现除了第一次初始化读取数据库成功以外,后面最新的记录全部都读不 ...

  4. 同样的一句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 ...

  5. dbf导入sqlserver的方法

    1. dbf导出为foxpro2.x. 2.打开excel,点击打开,选择dbase文件,选中第一步保存的文件. 3.另存为xls格式 4.使用sql的dts导入xls.

  6. sql语句(Oracle和sqlserver)

    查询表的首句:(Oracle) select * from (select a.*, rownum as rn from tab_name a order by col )where rn = 1 o ...

  7. 用SQL语句从电脑导入图片到数据库

    --创建图片表 CREATE TABLE W_PIC ( ID INT, --编号 WPATH ), --完整路径 PIC ), --图片名称,不带后缀 img image --图片内容 ) --图片 ...

  8. 3种SQL语句分页写法

    在开发中经常会使用到数据分页查询,一般的分页可以直接用SQL语句分页,当然也可以把分页写在存储过程里,下面是三种比较常用的SQL语句分页方法,下面以每页5条数据,查询第3页为例子: 第一种:使用not ...

  9. 《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件

    <万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要    用SQL语句来直接访问文本文件?是在做梦吗? ...

随机推荐

  1. scrapy与scrapyd安装

    Scrapy是用python编写的爬虫程序. Scrapyd是一个部署与运行scrapy爬虫的应用,提供JSON API的调用方式来部署与控制爬虫 . 本文验证在fedora与centos是安装成功. ...

  2. 为什么 UEFI 方式启动的 U 盘必须使用 FAT32 文件系统?

    如果你希望更刺激地安装 Windows,那么你需要了解很多 Windows 系统相关的问题. 为什么 UEFI 方式启动的 U 盘必须使用 FAT32 文件系统? 因为 NTFS 是 Windows ...

  3. Python编码规范和Python风格规范

    一.原因 1.长期的工作中,发现大多数程序员的代码可读性差 2.不同的程序员之间的协作很重要,代码可读性必须很好 3.版本升级时,要基于源码升级 4.不友好的代码会影响python的执行效率 二.基于 ...

  4. psoc4的中断笔记

    psoc可以自定义中断服务函数.

  5. jQuery关于复制(复制隐藏文字+显示文字)跳转,Clipboard

    html: (直接上扎实的数据,框子自己搭建) <script type="text/javascript" src="../../js/jquery.min.js ...

  6. ballerina 学习十 streams

    ballerina 的streams 使用的是siddhi complex event processing 引擎处理,可以包含的语法有 projection filtering windows jo ...

  7. javascript正则表达式定义(语法)

    正则表达式的2种定义方法:一种是直接调用RegExp(),第二种是直接用字面量来定义,即var re = /正则规则/; 2种定义方法本质都是调用RegExp()方法 在调用同一段正则代码的时候,EC ...

  8. golang之交叉编译设置

    俺的环境,os x,目的,生成64位linux的elf文件 直接下载osx的包就可以,不需要特意去下载源码包,我的go目录是~/golang/go cd ~/golang/go/srcGOOS=lin ...

  9. MFC对话框的Edit控件实现响应Ctrl+A全选,并实现自动/手动换行+滚动条

    首先是在Properties中设置控件属性的问题,首先必须得将Mutilines属性设为true,才能支持多行显示. 手动换行(按Enter键换行):将Want Return属性设为true 自动换行 ...

  10. 杂项: Redis

    ylbtech-杂项: Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 1. 定义返回顶部 re ...