SQLserver数据导入操作文档
- 格式:docx
- 大小:585.34 KB
- 文档页数:9
一、Navicat SQL Server简介Navicat是一个强大的数据库管理工具,它支持多种类型的数据库,包括MySQL、Oracle、SQL Server等。
其中,Navicat for SQL Server是专门用于管理SQL Server数据库的版本,它提供了一系列功能强大、操作便捷的工具,可以帮助用户轻松管理SQL Server数据库。
二、Navicat SQL Server的安装与使用1. 下载Navicat for SQL Server安装包,并双击运行安装程序。
2. 在安装向导中选择安装路径和其他设置,完成安装。
3. 打开Navicat for SQL Server,点击“连接”按钮,在弹出的对话框中填入相应的数据库连接信息,如主机名、端口号、用户名称、密码等。
4. 成功连接后,可以看到SQL Server数据库中的所有表格、视图、存储过程等对象,可以进行数据的查询、编辑、导出等操作。
三、Navicat SQL Server的功能特点1. 数据库管理:Navicat for SQL Server提供了完善的数据库管理功能,可以方便地创建、删除、备份、还原数据库。
2. SQL编辑器:Navicat for SQL Server内置了强大的SQL编辑器,支持语法高亮、自动完成、代码折叠等功能,使得编写复杂的SQL命令变得轻松。
3. 数据导入导出:Navicat for SQL Server支持多种数据格式的导入导出,可以方便地将数据从不同数据库之间进行迁移和同步操作。
4. 数据同步:Navicat for SQL Server可以智能识别数据库差异和数据同步需要,快速准确地执行数据同步操作。
5. 数据备份与恢复:Navicat for SQL Server提供了简便的备份和恢复数据库的功能,可以帮助用户轻松应对数据丢失或损坏的情况。
四、Navicat SQL Server的优势与应用Navicat for SQL Server作为一款专业的数据库管理工具,具有以下优势:1. 界面友好:Navicat for SQL Server拥有直观的界面设计,使得用户能够快速上手,即使是初学者也能够轻松操作。
实验环境: WIN XP ,MS Office Excel 2007 ,Sql Server 2008准备数据: Excel文档: D:\test\重复出修率.xlsx方法一:第一步: 打开SSMS:【开始】→【所有程序】→【Microsoft Sql Server 2008】→【Sql Server Management Studio】第二步: 连接数据库:在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器(P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】)第三步: 登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’右击【TEST】→【任务】→【导入数据】这时候会出现一个向导:点击【下一步】在弹出的窗口中,【数据源】选择:Microsoft Excel ;【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel 2007 (可以根据你office的版本,选择其他如Excel 2003等等。
)选中【首行包含列名称】框,最后点击【下一步】“首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。
如我这里选的是’TEST’,选好后点击【下一步】如果就把Excel数据插入一个新表,就选择【复制一个或多个表或视图的数据】如果想把Excel数据插入到已存在的一张表中,则选择下面的【编写查询以指定要传输的数据】我这里是选择上面一个,然后点击【下一步】接着会弹出Excel表中的sheet表名字,如果你没有修改过sheet表名字,则可能显示的是’shee1$’, ’shee2$’, ’shee3$’等等.然后你选中你想要导入的哪张表的数据,我这里导入的是【’aug$’】选中后,右边的【目标】栏位中会出现内容,dbo是指数据库的架构名,aug$只是新建的表名,如果你想修改表明,双击就可以表明进入编辑状态就可以修改了。
第1章SQL Server 初步§1.1 SQL Server的简介1.1.1 什么是SQL ServerSQL:Structured Query LanguageSQL SERVER是一个以客户/服务器(c/s)模式访问、使用Transact-SQL语言的关系型数据库管理子统(RDBMS)。
SQL Server是一种基于网络的大型数据库软件。
主要是用SQL语言来管理、修改、和修改数据库。
主要运算在WINNT、WIN2000、也可运行在WIN9X上的一种DBMS。
1.1.2 SQL Server 2000的主要版本及发布时间1.1.2.1 主要版本有个人(Personal)版、企业版(EnterPrise)、标准版和开发版等。
个人版:最多连接5个用户,可安装在WINDOWS 98、XP、WIN2000。
企业版:可连接1000个用户,需安装在WIN2000服务版上。
1.1.2.2 SQL Server 2000的发布时间1988年 MICROSOFT&SYBASE合作开发1993年平台上的SQL SERVER 4.21994年中止合作独自开发1995年 SQL SERVER 6.01996年 SQL SERVER 6.51998年 SQL SERVER 7.02000年 SQL SERVER 2000v1.0 可编辑可修改2005年 SQL SERVER 2005SQL SERVER 2008将于2008年初上市1.1.3 SQL Server的安装运行安装盘上的。
1.1.4 SQL语言的特点1、SQL具有自含式与嵌入式两种形式交互式SQL:一般DBMS都提供联机交互工具,用户可直接键入SQL命令对数据库进行操作由DBMS来进行解释嵌入式SQL:能将SQL语句嵌入到高级语言(宿主语言),使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力,一般需要预编译,将嵌入的SQL 语句转化为宿主语言编译器能处理的语句SQL的语法结构基本一致2、SQL具有语言简洁、易学易用的特点3、SQL支持三级模式结构一个SQL数据库的总体逻辑结构是基本表(Table)的集合,对应于概念模式SQL数据库的底层存储结构采用文件,一个或几个表对应一个存储文件,以及索引文件,对应内模式用户所见的数据结构是视图(View),用户可直接操作的表,可为视图或部分基本表。
写成存储过程,建立作业定时备份1. --在sql中建个映射exec master..xp_cmdshell 'net use z: \\本地计算机名或IP\本地共享文件夹的共享名"密码" /user:本地计算机名或IP\administrator'/*--说明:z:是映射网络路径对应本机的盘符(可以去掉,如果去掉,则在COPY 时将z: 换成\\本地计算机名或IP\本地共享文件夹的共享名即可。
)administrator是登陆的用户名密码面指定的administrator用户的密码--*/2.--备份;with init覆盖| noinit添加backup database 库名to disk='E:\H_BACKUP.bak' with init3.--COPYexec master..xp_cmdshell 'copy E:\H_BACKUP.bak z:'4.--删除(这句可以去掉)--exec master..xp_cmdshell 'del E:\H_BACKUP.bak'5.--完成后删除映射exec master..xp_cmdshell 'net use z: /delete'付:EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; exec xp_cmdshell 'net user mm 123 /add' --添加一用户exec xp_cmdshell 'net localgroup administrators mm /add' --为用户添加管理员权限exec xp_cmdshell 'net user mm /delete' --删除一用户二:笨方法1. 知道远程MSSQL IP 用户名密码。
如何把EXCEL数据导入到SQLSERVER数据库中将Excel数据导入SQL Server数据库可以通过以下步骤实现:1. 打开Excel文件并选择要导入的数据:首先,打开Excel文件并选择要导入到SQL Server数据库的数据。
确保数据位于连续的单元格区域内,并且包含正确的列和行标题。
2. 导出Excel数据为CSV格式:将Excel数据导出为CSV(逗号分隔值)格式,这种格式是一种常见的数据交换格式,可以方便地被导入到SQL Server数据库中。
在Excel中,选择“文件”>“另存为”,然后选择CSV格式进行保存。
3. 创建目标表:在SQL Server数据库中创建一个目标表,用于存储要导入的数据。
可以使用SQL Server Management Studio或任何其他SQL编程工具来创建表。
确保表结构与将要导入的Excel数据的列和行标题相匹配。
4. 定义目标表的列:为目标表定义与Excel数据相匹配的列,保证目标表的列名与Excel数据的列名相同,并且数据类型也相匹配。
如果需要修改列的数据类型或长度,可以使用ALTER TABLE语句进行修改。
5. 使用SQL Server导入向导:使用SQL Server导入向导来导入CSV文件中的数据。
打开SQL Server Management Studio,右键单击目标数据库,选择“任务”>“导入数据”来打开导入向导。
6. 选择数据源:在导入向导的“选择数据源”步骤中,选择适当的数据源类型,这里选择“Flat File Source”,然后浏览找到之前保存的CSV文件。
7. 配置数据源:在导入向导的“配置Flat File Source”步骤中,配置CSV文件的设置。
确保分隔符设置为逗号(CSV的默认分隔符),并根据需要调整其他设置。
点击“下一步”继续。
8.选择目标数据库:在导入向导的“选择目标表或查看现有表”步骤中,选择目标数据库和表。
利⽤Navicate把SQLServer转MYSQL的⽅法(连数据)
本次转换需要依赖使⽤⼯具Navicat Premium。
⾸先,将数据库移⾄本地SQLServer,我试过直接在局域⽹上其他SQLServer服务器上想转到本地Mysql好像有问题,想将远程数据库备份恢复到本地。
1、打开Navicat Premium,新建⼀个同名的数据库,然后在表上点击“导⼊向导”。
并选择“ODBC”。
2、选择SQLServer提供程序,并输⼊参数。
3、然后就拼命下⼀步、下⼀步。
在这⾥有个条件查询,如果有太多不想要的数据,或者字段类型有问题导致导⼊出错可以设置这⾥。
⼤功告成,下班吃饭。
补充:这个东西对SQLServer转MySQL数据类型转换的⽀持不是很好,要⼿动设置。
但是导⼊数据没有问题,最好的⽅式是:
先使⽤⼯具:mss2sql将SQLServer的表转换成MYSQL的表,然后在使⽤此⼯具的ODBC导数据。
2014-11-26
问题记录:
1、SQLServer数据导⼊到MySQL时,mss2sql对bit类型的处理不太好,所以有bit类型的字段表导⼊后要更改长度为8,否则后续的导⼊操作将会失败。
2、数据导⼊的时候,如果是局域⽹数据库,那么要选择的类型为:
SQLServer的SQL语句专MySQL的SQL语句:
1、Insert⾃增列要给Null(如果是简写不写列名的话);
2、分页⼤致上都要改为MySQL的Limit;
3、表名不要出现dbo.等前缀;。
sqlserver怎么将excel表的数据导⼊到数据库中在数据库初始阶段,我们有些数据在EXCEL中做好之后,需要将EXCEL对应列名(导⼊后对应数据库表的字段名),对应sheet(改名为导⼊数据库之后的表名)导⼊指定数据库,相当于导⼊⼀张表的整个数据。
导⼊之前需要检查是否存在同名的表,导⼊的数据表以“$”结尾就是为了避免表重复,以作区分。
下⾯就来看看具体操作步骤。
1. 1 打开SQL Server Management Studio,按图中的路径进⼊导⼊数据界⾯。
2. 2 导⼊的时候需要将EXCEL的⽂件准备好,不能打开。
点击下⼀步。
3. 数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还⽀持很多其它数据源类型。
4. 选择需要导⼊的EXCEL⽂件。
点击浏览,找到导⼊的⽂件确定。
5. 再次确认⽂件路径没有问题,点击下⼀步。
6. 默认为是使⽤的WINODWS⾝份验证,改为使⽤SQL⾝份验证。
输⼊数据库密码,注意:数据库,这⾥看看是不是导⼊的数据库。
也可以在这⾥临时改变,选择其它数据库。
7. 选择导⼊数据EXCEL表内容范围,若有⼏个SHEET表,或⼀个SHEET表中有些数据我们不想导⼊,则可以编写查询指定的数据进⾏导⼊。
点击下⼀步。
8. 选择我们需要导⼊的SHEET表,⽐如我在这⾥将SHEET表名改为price,则导⼊后⽣⾯的SQL数据库表为price$。
点击进⼊下⼀步。
9. 点击进⼊下⼀步。
10. 在这⾥完整显⽰了我们的导⼊的信息,执⾏内容,再次确认⽆误后,点击完成,开始执⾏。
11. 可以看到任务执⾏的过程和进度。
12. 执⾏成功:我们可以看看执⾏结果,已传输1754⾏,表⽰从EXCEL表中导⼊1754条数据,包括列名标题。
这样就完成了,执⾏SQL查询语句:SELECT * FROM price$就可以查看已导⼊的数据内容。
SQLServer⼤数据量插⼊BULKINSERTSQLSERVER ⼤数据量插⼊命令:BULK INSERT是SQLSERVER中提供的⼀条⼤数据量导⼊的命令,它运⽤DTS(SSIS)导⼊原理,可以从本地或远程服务器上批量导⼊数据库或⽂件数据。
批量插⼊是⼀个独⽴的操作,优点是效率⾮常⾼。
缺点是出现问题后不可以回滚。
BULK INSERT是⽤来将外部⽂件以⼀种特定的格式加载到数据库表的T-SQL命令。
该命令使开发⼈员能够直接将数据加载到数据库表中,⽽不需要使⽤类似于Integration Services这样的外部程序。
虽然BULK INSERT不允许包含任何复杂的逻辑或转换,但能够提供与格式化相关的选项,并告诉我们导⼊是如何实现的。
BULK INSERT有⼀个使⽤限制,就是只能将数据导⼊SQL Server。
插⼊数据下⾯的例⼦能让我们更好的理解如何使⽤BULK INSERT命令。
⾸先,我们来创建⼀个名为Sales的表,我们将要把来⾃⽂本⽂件的数据插⼊到这个表中。
本地数据操作:当我们使⽤BULK INSERT命令来插⼊数据时,创建的表有⽆触发器需要不同的配置,我们分别举例来看:【A没有触发器的表】 CREATE TABLE [dbo].[Sales] ( [SaleID] [int], [Product] [varchar](10) NULL, [SaleDate] [datetime] NULL, [SalePrice] [money] NULL )【B有触发器的表】 还是在上⾯表的基础上,我们创建触发器,⽤来打印插⼊到表中的记录的数量。
CREATE TRIGGER tr_Sales ON Sales FOR INSERT AS BEGIN PRINT CAST(@@ROWCOUNT AS VARCHAR(5)) + ' rows Inserted.' END这⾥我们选择⽂本⽂件作为源数据⽂件,⽂本⽂件中的值通过逗号分割开。
sql server management studio使用方法SQLServerManagementStudio(SSMS)是Microsoft提供的一款强大的数据库管理工具,它提供了图形化的用户界面,使得数据库的管理、维护和开发工作变得更加简单。
本文将详细介绍如何使用SSMS进行数据库的管理和维护。
一、安装和启动SSMS首先,确保你已经正确安装了SQLServer,并且可以从开始菜单中找到SSMS。
双击SSMS图标,即可启动工具。
首次启动时,你可能会看到一些设置向导,按照提示进行即可。
二、连接到数据库启动SSMS后,你需要选择要连接的数据库实例。
在“连接”选项卡中,输入你的数据库实例名称、用户名和密码,然后点击“连接”按钮。
成功连接后,你就可以在SSMS中看到你的数据库架构。
三、创建数据库和表在SSMS中,你可以通过“对象资源管理器”来创建数据库和表。
在左侧的“数据库”目录下,右键点击选择“新建数据库”,输入数据库名称和描述,然后点击“确定”。
接着,右键点击新创建的数据库,选择“新建表”,输入表结构和列名,即可创建表。
四、查询数据在SSMS中,你可以使用查询编辑器来执行SQL查询。
在对象资源管理器中,右键点击你要查询的表或数据库,选择“新建查询编辑器”即可打开查询编辑器。
在这里,你可以输入SQL语句来查询数据,执行完毕后,结果将在右侧的窗口中显示。
五、数据导入导出SSMS还提供了数据导入导出功能,可以将数据从一个表或数据库导入到另一个表或数据库中。
在对象资源管理器中,右键点击你要导出数据的表或数据库,选择“任务”,然后选择“导出数据”。
在弹出的窗口中,选择目标数据库和文件格式,设置好其他选项后,点击“开始”即可开始导出数据。
同样,数据导入也提供了类似的界面和功能。
六、管理数据流和日志在SSMS中,你可以对数据流和日志进行管理。
在对象资源管理器中,右键点击你要管理的表或视图,选择“属性”,在弹出的窗口中可以设置数据流和日志的相关选项。
sqlserver导⼊导出待写excel 导⼊数字⽇期等导⼊为⽂本,在excel设置类型为⽂本再导⼊即可。
Excel数字、⽂本混合列导⼊SQL Server出现的问题&解决办法Excel⽂件:序号姓名内部电话住址1⼩李1234……2⼩王5678……3⼩张2345(国内长途)…………………………如上结构的Excel⽂件,⽤SQL Server的“导⼊数据”功能来将其导⼊SQL数据库中。
结果发现在“内部电话”列中,所有带有⽂字的电话号,被导⼊后字段值全部为NULLSQL数据表:序号姓名内部电话住址1⼩李1234……2⼩王5678……3⼩张NULL…………………………通过在SQL中设置(在导⼊导出中,⽬的⽅选择新建表),发现数据库默认将“内部电话”列识别为float型,因为其新建表对应字段就是float 类型的。
看来是SQL认为包含⽂字的那些电话号码⽆法转换成数字,所以是⽆效的数据,从⽽采⽤NULL来代替。
通过查询微软⽹站,发现MS⼤意如是说:SQL在导⼊Excel混合数据列的时候,由于数据类型不唯⼀,导致SQL⽆法确定数据类型(看来SQL也有犯糊涂的时候)。
SQL的应对之道就是统计该数据列的前8⾏数据中出现最多的类型,并以此类型做为默认类型。
⽽在我的Excel ⽂件中,“内部电话”列的前8⾏中的确要数纯数字格式的电话号码最多,所以SQL就把这列认为是float型的(为什么不是int型?不解)。
⾄于此列其它格式的数据,SQL的办法是——直接扔了(汗⼀个。
)MS原⽂:……Excel 不会像关系数据库那样为 ADO 提供有关其数据的详细架构信息。
因此,驱动程序必须⾄少扫描⼏⾏现有数据,才能有根据地猜测各列的数据类型。
“要扫描的⾏数”的默认值为⼋ (8) ⾏。
可以指定从⼀ (1) ⾏到⼗六 (16) ⾏的整数值,或指定零 (0),扫描所有现有⾏。
这可通过向连接字符串添加可选的 MaxScanRows= 设置,或在 DSN 配置对话框中更改要扫描的⾏数设置来完成。
SQL Server获取Oracle数据库方法1. 简介SQL Server和Oracle是两种常用的关系型数据库管理系统(RDBMS),它们在功能和语法上有所不同。
本文将介绍如何使用SQL Server来获取Oracle数据库的数据,包括连接配置、数据导入和导出等操作。
2. 连接配置在SQL Server中连接Oracle数据库需要使用ODBC(Open Database Connectivity)驱动程序。
以下是连接配置的步骤:步骤一:安装ODBC驱动程序首先,在SQL Server所在的计算机上安装Oracle ODBC驱动程序。
可以从Oracle官方网站下载合适版本的驱动程序,并按照安装向导进行安装。
步骤二:创建ODBC数据源在Windows操作系统中,打开“控制面板”->“管理工具”->“ODBC数据源(64位)”(如果是32位操作系统,则为“ODBC数据源”),点击“添加”按钮,选择正确版本的Oracle ODBC驱动程序,然后点击“完成”。
步骤三:配置数据源名称和连接参数在弹出的对话框中,输入数据源名称、描述和TNS Service Name等连接参数。
TNS Service Name是指要连接的目标Oracle数据库实例名。
步骤四:测试连接点击“测试连接”按钮,检查是否能够成功连接到Oracle数据库。
如果测试通过,则表示已成功配置了ODBC数据源。
3. 导入数据在SQL Server中导入Oracle数据库的数据,可以使用以下方法:方法一:使用OPENROWSET函数SQL Server提供了一个名为OPENROWSET的函数,可以通过该函数直接从Oracle数据库中查询数据并导入到SQL Server中。
以下是使用OPENROWSET函数导入数据的示例:SELECT *INTO SQLServerTableFROM OPENROWSET('MSDASQL','Driver={Oracle ODBC Driver};Server=OracleServer;Uid=username; Pwd=password;','SELECT * FROM OracleTable')上述示例中,SQLServerTable是要导入的目标表名,在执行该语句之前需要事先在SQL Server中创建好对应的表结构。
将Excel⽂件数据导⼊到SqlServer数据库的三种⽅案最近在⼀个项⽬中需要⽤到Excel⽂件导⼊数据库的功能,本⼈很懒,所以到⽹上搜了⼀堆⽅法,但是通过对⽐,觉得⼀下三种是⽐较好⽤或者不是很常见的⽅法,希望对⼤家有所帮助。
⽅案⼀:通过OleDB⽅式获取Excel⽂件的数据,然后通过DataSet中转到SQL Server,这种⽅法的优点是⾮常的灵活,可以对Excel表中的各个单元格进⾏⽤户所需的操作。
1. openFileDialog = new OpenFileDialog();2. openFileDialog.Filter = "Excel files(*.xls)|*.xls";3.4. if(openFileDialog.ShowDialog()==DialogResult.OK)5. {6. FileInfo fileInfo = new FileInfo(openFileDialog.FileName);7. string filePath = fileInfo.FullName;8. string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";9.10. try11. {12. OleDbConnection oleDbConnection = new OleDbConnection(connExcel);13. oleDbConnection.Open();14.15. //获取excel表16. DataTable dataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);17.18. //获取sheet名,其中[0][1]...[N]: 按名称排列的表单元素19. string tableName = dataTable.Rows[0][2].ToString().Trim();20. tableName = "[" + tableName.Replace("'","") + "]";21.22. //利⽤SQL语句从Excel⽂件⾥获取数据23. //string query = "SELECT classDate,classPlace,classTeacher,classTitle,classID FROM " + tableName;24. string query = "SELECT ⽇期,开课城市,讲师,课程名称,持续时间 FROM " + tableName;25. dataSet = new DataSet();26.27. //OleDbCommand oleCommand = new OleDbCommand(query, oleDbConnection);28. //OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);29. OleDbDataAdapter oleAdapter = new OleDbDataAdapter(query,connExcel);30. oleAdapter.Fill(dataSet,"gch_Class_Info");31. //从excel⽂件获得数据后,插⼊记录到SQL Server的数据表32. DataTable dataTable1 = new DataTable();33.34. SqlDataAdapter sqlDA1 = new SqlDataAdapter(@"SELECT classID, classDate,35. classPlace, classTeacher, classTitle, durativeDate FROM gch_Class_Info",sqlConnection1);36.37. //SqlCommandBuilder sqlCB1 = new SqlCommandBuilder(sqlDA1);38.39. sqlDA1.Fill(dataTable1);40.41. foreach(DataRow dataRow in dataSet.Tables["gch_Class_Info"].Rows)42. {43. DataRow dataRow1 = dataTable1.NewRow();44.45. dataRow1["classDate"] = dataRow["⽇期"];46. dataRow1["classPlace"] = dataRow["开课城市"];47. dataRow1["classTeacher"] = dataRow["讲师"];48. dataRow1["classTitle"] = dataRow["课程名称"];49. dataRow1["durativeDate"] = dataRow["持续时间"];50.51. dataTable1.Rows.Add(dataRow1);52. }53.54. Console.WriteLine("新插⼊ " + dataTable1.Rows.Count.ToString() + " 条记录");55. sqlDA1.Update(dataTable1);56.57. oleDbConnection.Close();58.59. }60. catch(Exception ex)61. {62. Console.WriteLine(ex.ToString());63. }64. }⽅案⼆:直接通过SQL语句执⾏SQL Server的功能函数将Excel⽂件转换到SQL Server数据库。
IE中直接操作SQL SERVER数据库2004 新年礼品第 2 号[在浏览器里直接执行SQL语句,操作数据库的最后一招]环境 win2k IIS4.0 + SQL server 2000 + IE5.0SERVER 为服务器名SUSUE 为虚拟目录SELECThttp://server/susue?SQL=SELECT * FROM S_USER FOR XML AUTO&ROOT=ROOT UPDATEhttp://server/susue?SQL=UPDATE S_USER SET C_PASS = '99' WHERE P_YG = '99999' INSERThttp://server/susue?SQL=INSERT S_USER (P_YG,C_PASS) value S ('999','999') DELETEhttp://server/susue?SQL=DELETE S_USER WHERE P_YG = '999'Step 1此主题相关图片如下:此主题相关图片如下:Step 3此主题相关图片如下:此主题相关图片如下:Step 5此主题相关图片如下:此主题相关图片如下:Step 7此主题相关图片如下:Step 8此主题相关图片如下:/*出现这样的错误:XML 文档必须有一个顶层元素。
处理资源 'http://wyh/k2daozai?SQL=select%20*%20from%20msc' 时出错。
那里设置有问题?select * from msc for xml auto&root = root*/。
SQLServer把image字段导出成文件(SQLServer把image字段导入导出)ifexists (select*from dbo.sysobjects where id =object_id(N'[ dbo].[p_binaryIO]') andOBJECTPROPERTY(id, N'IsProcedure') =1)dropprocedure[dbo].[p_binaryIO]GO/*--bcp 实现二进制文件的导入导出支持image,text,ntext字段的导入/导出image适合于二进制文件,包括:Word文档,Excel文档,图片,音乐等text,ntext适合于文本数据文件注意:导入不会新增记录,所以导入前要对表进行初始化,即插入记录导入时,将覆盖满足条件的所有行导出时,将把所有满足条件的行导出到指定文件中此存储过程仅用bcp实现--邹建 2003.08(引用请保留此信息)---*//*--调用示例--数据导出exec p_binaryIO 'zj','','','acc_演示数据..tb','img','c:\zj1.dat'--数据导入exec p_binaryIO 'zj','','','acc_演示数据..tb','img','c:\zj1.dat','',0 --*/Createproc p_binaryIO@servenamevarchar (30),--服务器名称@usernamevarchar (30), --用户名@passwordvarchar (30), --密码@tbnamevarchar (500), --数据库..表名@fdnamevarchar (30), --字段名@fnamevarchar (1000), --目录+文件名,处理过程中要使用/覆盖:@filename+_temp@tjvarchar (1000)='', --处理条件.对于数据导入,如果条件中包含@fdname,请指定表名前缀@isoutbit=1--1导出((默认),0导入ASdeclare@fname_invarchar(1000) --bcp处理应答文件名,@fsizevarchar(20) --要处理的文件的大小,@m_tbnamevarchar(50) --临时表名,@sqlvarchar(8000)--则取得导入文件的大小if@isout=1set@fsize='0'elsebegincreatetable #tb(可选名 varchar(20),大小 int,创建日期 varchar(10),创建时间 varchar(20),上次写操作日期 varchar(10),上次写操作时间 varchar(20),上次访问日期 varchar(10),上次访问时间 varchar(20),特性 int) insertinto #tbexec master..xp_getfiledetails @fnameselect@fsize=大小 from #tbdroptable #tbif@fsizeisnullbeginprint'文件未找到'returnendend--生成数据处理应答文件set@m_tbname='[##temp'+cast(newid() asvarchar(40))+']'set@sql='select * into '+@m_tbname+' from( select null as 类型union all select 0 as 前缀union all select '+@fsize+' as 长度union all select null as 结束union all select null as 格式) a'exec(@sql)select@fname_in=@fname+'_temp',@sql='bcp ''+@m_tbname+'' out ''+@fname_in +'' /S''+@servename+casewhenisnull(@username,'')=''then''else'' /U''+@usernameend+'' /P''+isnull(@password,'')+'' /c'exec master..xp_cmdshell @sql--删除临时表set@sql='drop table '+@m_tbnameexec(@sql)if@isout=1beginset@sql='bcp 'select top 1 '+@fdname+' from ' +@tbname+caseisnull(@tj,'') when''then''else' where '+@tjend+'' queryout ''+@fname+'' /S''+@servename+casewhenisnull(@username,'')=''then''else'' /U''+@usernameend+'' /P''+isnull(@password,'')+'' /i''+@fname_in+'''exec master..xp_cmdshell @sqlendelsebegin--为数据导入准备临时表set@sql='select top 0 '+@fdname+' into '+@m_tbname+' from '+@tbnameexec(@sql)--将数据导入到临时表set@sql='bcp ''+@m_tbname+'' in ''+@fname +'' /S''+@servename+casewhenisnull(@username,'')=''then''else'' /U''+@usernameend+'' /P''+isnull(@password,'')+'' /i''+@fname_in+'''exec master..xp_cmdshell @sql--将数据导入到正式表中set@sql='update '+@tbname+' set '+@fdname+'=b.'+@fdname+' from '+@tbname+' a,'+@m_tbname+' b'+caseisnull(@tj,'') when''then''else' where '+@tjendexec(@sql)--删除数据处理临时表set@sql='drop table '+@m_tbnameend--删除数据处理应答文件set@sql='del '+@fname_inexec master..xp_cmdshell @sqlgo你可以通过这个链接引用该篇文章:/viewdiary.21444646.html。
如何将一个DBF库中的数据导入到SQL SERVER服务器中
1、打开SQLSERVER的企业管理理,在数据转换服务单击鼠标右键,选择导入数据,出现以下画面:
2、点“下一步”,如下图所示,选择数据源为dbase III,(若是EXCEL文件,请选择excel ),并在文件名处输入源DBF数据文件所在的路径。
3、点“下一步”,如下图所示,选择目的为“用于SQL SERVER的Microsoft OLE DB提供程序”,并选择服务器为实际要导入的SQL服务器名称,如“QYB10”,并输入连接用户名和密码,选择相应的数据库,临时数据最好放在tmp2k库中。
4、点“下一步”,如下图所示,选择“从源数据库复制表和视图”。
5、点“下一步”,如下图所示,选择相应的DBF库,其中目的栏表示导入的数据放在哪个库和哪张表中,边上转换按钮可以修改字段名,也可不选按默认,则与DBF中的字段名一
致。
6、点“下一步”,如下图所示。
7、点“下一步”,如下图所示。
8、点“完成”后,如下图所示。
若SQL中对应的表不存在,会自动创建的。
至此数据导入完成。
可进行其它操作了。
SQL Server数据库维护操作指南
第一部分数据导入
一、概述
本文主要讲述SQL Server数据库怎么上传Excel数据文件,以及在上传数据时需要注意的地方和遇到问题时的处理方法
二、操作步骤
1、打开SQL Server Management Studio
2、在打开的SQL Server Management Studio中,点击“数据库”,找要上传数据的数据库,例如本例选择的数据库是“Insurance”。
3、找到需要上传的数据库“Insurance”后,右击“Insurance”—任务—导入数据
4、弹出SQL Server导入和导出向导,在“数据源(D)”的下拉菜单中选择“Microsoft Excel”
注意:系统内必须安装Microsoft Office,否则下拉列表中没有“Microsoft Excel”选项
5、在弹出的选择数据源的对话框中点击Excel文件路径右侧的“浏览”,选择需要上传的数据文件;Excel版本选择“Microsoft Excel 2007”;选中“首行包含列名称”。
单击下一步
注释:首行包含列名称的意思是数据文件的第一行和数据库的列名相同,这样在上传数据时会自动匹配列,不需要手动编辑映射
6、在弹出的选择目标对话框中可以更改目标数据库、选择服务器、更改身份验证、目标数据库,在这里我们选择默认。
单击下一步
7、在弹出的指定表复选框或查询对话框中选择“复制一个或多个表或试图的数据(C)”,单击下一步
8、在弹出的选择源表和源视图对话框中选择“源”和“目标”,我们这里选择的目标是galaxy_acceptInsurance表格
注释:“源”是需要导入的Excel表格,“目标”是需要导入数据的数据库总的表
点击下面的编辑映射可以对相关的数据字段进行编辑,我们这里因为上面选择了首行包含列名称,所以自动匹配了目标,不需要手动编辑;
点击预览可以查看要数据导入后的格式
9、在弹出的查看数据类型映射对话框中,直接单击下一步
10、在弹出的保存并运行包对话框中选择立即运行,单击下一步
11、直接单击完成
12、数据导入成功,可以看到已导入2行数据,单击关闭
第二部分常见问题及解决方法:
三、在导入数据时可能会出现导入失败,下面是几种现象是导入失败的原因
1、导入的数据长度超过数据库给定的长度,例如:电话号码上面写成了身份证,
解决方法:在导入数据时仔细观察导入到多少行出现错误,可以到Excel表格里面找到这行,检查错误的原因。
2、在数据导入前需要查看数据是否有错误,例如乱码,姓名中有“�”等等
3、Excel表格中数据格式不正确,可以参照文档“农业保险上报数据标准格式”来修改。
4、问题:数据库中InsuranceType中含有“育肥猪”和ClaimsNumber中PIZG开头的数据保
单号错误,需要删除,重新上传新的数据。
解决方法:新建查询,然后输入下列命令
4.1 查询表Insurance.dbo.galaxy_claims里面是否有需要删除的数据
select * from Insurance.dbo.galaxy_claims where InsuranceType like '%育肥猪%' and ClaimsNumber like 'PIZG%';
\\搜索表Insurance.dbo.galaxy_claims里面InsuranceType字段带有“育肥猪”和ClaimsNumber 字段有“PIZG”开头的数据
4.2查询表Insurance.dbo.galaxy_ AcceptInsurance里面是否有需要删除的数据
select * from Insurance.dbo.galaxy_AcceptInsurance where InsuranceType like '%育肥猪%' and InsuranceNumber like 'PIZG%';
\\搜索表Insurance.dbo.galaxy_AcceptInsurance里面InsuranceType字段带有“育肥猪”和ClaimsNumber字段有“PIZG”开头的数据
4.3删除表Insurance.dbo.galaxy_claims里面符合要求的数据
delete from Insurance.dbo.galaxy_Claims where InsuranceType like '%育肥猪%' and ClaimsNumber like 'PIZG%';
\\删除表Insurance.dbo.galaxy_claims里面InsuranceType字段带有“育肥猪”和ClaimsNumber 字段有“PIZG”开头的数据
4.3删除表Insurance.dbo.galaxy_ AcceptInsurance里面符合要求的数据
delete from Insurance.dbo.galaxy_AcceptInsurance where InsuranceType like '%育肥猪%' and InsuranceNumber like 'PIZG%';
\\删除表Insurance.dbo.galaxy_AcceptInsurance里面InsuranceType字段带有“育肥猪”和ClaimsNumber字段有“PIZG”开头的数据
5、备份数据表galaxy_AcceptInsurance
解决方法:新建一张表命名为galaxy_AcceptInsurance_backup,然后用下面命令将表galaxy_AcceptInsurance数据里面的数据备份到galaxy_AcceptInsurance_backup里面。
命令:
select * into Insurance.dbo.galaxy_AcceptInsurance_20150120 from Insurance.dbo.galaxy_AcceptInsurance;
\\将表Insurance.dbo.galaxy_AcceptInsurance里面的数据导入表Insurance.dbo.galaxy_AcceptInsurance_20150120
6、查询倒数100000行的数据
SELECT TOP 100000 *
FROM [Insurance].[dbo].[galaxy_AcceptInsurance] order by AcceptInsuranceIDdesc//查看前100000行数据
第三部分农险网信息
1、农险账号:duxiaokai
密码:duxiaokai!##1.
2、农险网地址:/
3、农险网数据库地址:180.1.100.234。