access数据库导入sql
A1. 安装 SQLServer
A2. 建立 SQLServer 数据库
在sqlserver数据库的“企业管理器”中新建一个数据库,命名为sample,建好后在sqlserver安装目录\MSSQL\Data
文件夹下会生成sample_Data.MDF、sample_Log.LDF两个文件
具体步骤:依次展开sql server 组 ==》右击数据库==》新建数据库==》命名sample==》确定
A3. 导入表结构
a. 建立表结构脚本 –
执行SqlSvrTbl.bat从sample.mdb抽取表结构,sample.mdb一定是当前型号的数据库,即执行makemdb、getmdb后获取的,
注:SqlSvrTbl.bat可以在任意目录执行,执行时会出现如下信息(此报错信息可以忽略,该命令执行时间比较长):
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能读取记录;
在 'MSysQueries' 上没有读取数据权限。
at
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6026)
……
b. 读入表结构脚本
在sqlserver数据库的“查询分析器”界面中读入上一步生成的SqlSvrTbl.sql脚本,生成数据库结构
具体步骤:打开上一步生成的SqlSvrTbl.sql脚本===》点击工具栏的“执行查询”按钮(或 按F5 执行)
注意:类似警告信息可忽略,错误要查明原因。
警告: 已创建表 'Department',但其最大行大小(17573)超过了每行的最大字节数(8060)。如果结果行长度超过 8060
字节,则此表中行的 INSERT 或 UPDATE 将失败。
A4. 导入数据
使用sqlserver的“导入和导出数据”功能,按步骤将access数据库中的数据导入到sqlserver数据库的sample数据库中
具体步骤:运行“导入导出数据”工具==》下一步 ==》选择 数据源:Microsoft
Access
==》在“文件名”处,浏览打开需要导入的数据源 sample.mdb ==》下一步
==》选择目的数据库:在“数据库”下拉列表中选择之前建好的sample
==》一直“下一步” 到“选择源表和视图”将所有要导入的表和视图
“勾选” 执行“下一步” ==》点“下一步”==》点“完成”开始导入
注意:如果在导入完成后报如下错误提示,说明导入有错
错误提示:
在目的的行号为1处出错.到目前为止,在改任务中遇到错误数:1.
插入错误、列58("Birthday",DBTYPE_DBTIMESTAMP)、状态6:数据溢出。
对于造型说明无效的字符值。
A5. NHS 服务器连接数据库
a. 将nhssystem.mdb 手工拷到本机的%JXCRUN%\Bin文件夹中
b.用客户端登录软件。
如果出现“admin”用户不存在,在sqlserver中用查询管理器查询“select * from sysuser ”
看结果跟access中数据库中sysuser中数据是否匹配。如果不匹配说明数据库有误,需要更换数据库。
如果出现sa用户密码错误,没有连接上,先关掉软件。在sqlserver企业管理器中,打开“安全性”==》“登录”==》右击sa更改密码即可。
在没有插网线的情况下,如果出现“不能连接SqlServer 或SqlServer
拒绝连接”的错误,将网线插上试试看是否可以。如果还不行,查看SqlServer是否启动。
⑵ 要将Access数据库中的数据导入到SQL Server数据库,需要满足什么条件
企业管理器 先在sql里建一数据库 选择所有任务 导入数据 选择数据源中选microsoft access 在把access数据库导入到mssql数据库时,应该注意的几个问题 在使用MSSQL SERVER的时候,和ACCESS有很多区别的,即使是用SQL SERVER导入ACCESS数据库,也有很多地方需要注意,这里,捡几个例子来说说。 1、在ACCESS中经常使用的自动编号字段,导入到MSSQL后,他并不是自增型的INT,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号; 2、在MSSQL SERVER中,有许多保留字,在ACCESS中是没有的,当你把数据导入到MSSQL的时候,问题就出来了。MSSQL在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是MSSQL的保留字。
⑶ 如何将Access中的数据导入到SQL Server中
操作步骤如下:
一、打开SqlServer2005,登录--选择需要目标数据库--右键数据库--任务--导入数据。
二、选择要复制的数据源。数据源选择Microsoft
access--浏览你的数据源文件。这里的access数据源,如果生成表过大,可以生成多个相同表结构的表。在导入数据直接到SqlServer某一张表。这样大数据就可以集中在同一张表,但是要切记,表结构要一样。
三、选择目标指定将数据复制在何处。这里面服务器名称可以服务器名也可以网络ip。使用SqlServer身份验证,选择目标数据库--复制一个或者多个表视图的数据。
四、选择导入到目标表或者导入新建表。执行--完成。
⑷ Access 导入到SQL Server 2005的方法小结
方法一:
名称:DTS(这个在MSSQL2000里边也有)
操作:在命令提示符窗口中运行
DTSWizard.exe
SQL
Server
导入和导出向导提供了生成
Microsoft
SQL
Server
2005
Integration
Services
(SSIS)
包最简单的方法。SQL
Server
导入和导出向导可以访问各种数据源。可以向下列源复制数据或从其中复制数据:
·Microsoft
SQL
Server
·文本文件
·Microsoft
Office
Access
·Microsoft
Office
Excel
·其他
OLE
DB
访问接口
此外,可以只使用
ADO.NET
访问接口和
ODBC
数据源作为源。
启动
SQL
Server
导入和导出向导
在
Business
Intelligence
Development
Studio
中,右键单击“SSIS
包”文件夹,再单击“SSIS
导入和导出向导”。
-
或
-
在
Business
Intelligence
Development
Studio
中的“项目”菜单上,单击“SSIS
导入和导出向导”。
-
或
-
在
SQL
Server
Management
Studio
中,连接到数据库引擎服务器类型,展开数据库,右键单击一个数据库,指向“任务”,再单击“导入数据”或“导出数据”。
-
或
-
在命令提示符窗口中运行
DTSWizard.exe(位于
C:\Program
Files\Microsoft
SQL
Server\90\DTS\Binn)。
方法二:
SQL
查询
操作:执行下列sql语句:
EXEC
sp_configure
'show
advanced
options',
1;
GO
RECONFIGURE;
GO
EXEC
sp_configure
'Ad
Hoc
Distributed
Queries',
1;
GO
RECONFIGURE;
GO
INSERT
INTO
表名(字段1,字段2,字段3)
SELECT
字段1,字段2,字段3
FROM
opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="d:\source.mdb";Jet
OLEDB:Database
Password=密码')...表名
详细的步骤文字版:
安装好SQL
Server
2005
Express后,再安装SQL
Server
Management
Studio
ExpressCTP就可以很方便的使用控制台进行数据库的管理。但SQL
Server
Management
Studio
ExpressCTP并没有导入Access数据库的功能,我们应该使用Access的“数据库实用工具”进行导入。
本文以Access2003为例介绍如何将Access的数据库导入到SQL
Server
2005
Express中,其中没有说明的地方均使用默认设置。
1、安装Access
2003,选中Access下的“数据库复制”组件。
2、打开Access
2003数据库,依次单击“工具”-“数据库实用工具”-“升迁向导”。
3、在“升迁向导”中选择“新建数据库”,单击“下一步”。选择安装了SQL
Server
2005Express的服务器为导入服务器,使用默认的数据库名称,
单击“下一步”。将其中可以的表添加到“导出到
SQLServer”中,
单击“下一步”。升迁默认的表属性,
单击“下一步”。创建一个新的ADP文件,
单击“下一步”。单击“打开新ADP文件”,单击“完成”。
4、打开刚刚创建的Adp文件,依次单击“工具”-“数据库实用工具”-“传送数据库”。在SQL
Server中输入“Myserver/sqlexpress”,单击“下一步”。单击“完成”。导入完成。
5、打开“SQL
Server
Management
Studio
Express”就可以看到刚刚添加的数据库。
这样的导入方式可以导入表或者是link表以及他们的relationship。
⑸ ACCESS数据如何导入SQL数据库
找开企业管理器
先在sql里建一数据库
选择所有任务
导入数据
选择数据源中选microsoft
access
在把access数据库导入到mssql数据库时,应该注意的几个问题
在使用MSSQL
SERVER的时候,和ACCESS有很多区别的,即使是用SQL
SERVER导入ACCESS数据库,也有很多地方需要注意,这里,捡几个例子来说说。
1、在ACCESS中经常使用的自动编号字段,导入到MSSQL后,他并不是自增型的INT,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号;
2、在MSSQL
SERVER中,有许多保留字,在ACCESS中是没有的,当你把数据导入到MSSQL的时候,问题就出来了。MSSQL在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是MSSQL的保留字。(具体是那些,请参考有关资料)
⑹ 如何将Access数据库导入到SQL
热乎乎的!
找开企业管理器 先在sql里建一数据库 选择所有任务 导入数据 选择数据源中选microsoft access 在把access数据库导入到mssql数据库时,应该注意的几个问题 在使用MSSQL SERVER的时候,和ACCESS有很多区别的,即使是用SQL SERVER导入ACCESS数据库,也有很多地方需要注意,这里,捡几个例子来说说。 1、在ACCESS中经常使用的自动编号字段,导入到MSSQL后,他并不是自增型的INT,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号; 2、在MSSQL SERVER中,有许多保留字,在ACCESS中是没有的,当你把数据导入到MSSQL的时候,问题就出来了。MSSQL在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是MSSQL的保留字。(具体是那些,请参考有关资料)
⑺ access数据库怎么导到SQL里
将Access数据导入到SQLserver中
在SQLserver中执行如下语句就能将Access
中B04表中的数据导入到SQLserver中的sqltablenaem表中
INSERT
INTO
sqltablename(sfield1,sfield2,sfield3,sfield4,sfield5,sfield6)
SELECT
CONVERT(char(10),afield1),afield2,afield3,afield4,afield5,afield6
FROM
opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="c:docaccessdb.mdb";Jet
OLEDB:Database
Password=abc)...B04
说明:
1.CONVERT(char(10),afield1)可以对数据的类型进行转换,控制长度;
2.在“opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="c:docaccessdb.mdb";Jet
OLEDB:Database
Password=abc)...B04”中Data
Source="c:docaccessdb.mdb为Access数据库的物理路径(保证两个数据库在一台机器上);
3.Password=abc中“abc”是Access数据库的密码,如果数据库无密码就不填写;
4.B04为在Access数据库中的表名;
5.也可以加一些条件如WHERE
afield='a'
and
...,有选择条件的导入数据
⑻ 如何将access数据里面的数据移到sql数据库里面
复制的,希望对你有用。 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的; 二,转换的方法 1,打开”控制面板“下”管理工具“中的”数据库源“; 2,按”添加“添加一个新的数据源,在选择栏里选”Driver do microsoft Access (*.mdb)”,完成后将出现一个框, 在”数据库源“里面输入你想写的名称,我取名叫“ABC”,说明不需要填,接着,按下面的选择,寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定。 数据源在这里建好了,剩下转换了。 3,打开SQL2000企业管理器,进入数据库,新建一个空的数据库“ABC”; 4,选择新建立的数据库,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续; 5,在数据库源下拉但中选择”Driver do microsoft Access(*.mdb)“,在”用户/系统DSN“中,选种你刚才添加的”ABC“,按 ”下一步“; 6,“目的”不需要修改,选择服务器(一般下为自己的本机“local“,也可以选择服务器地址或者局域网地址,确定你的权限是否可以操作,),“使用WINDOWS 身份验证“指用自己的系统管理员身份操作,“使用SQL身份操作验证“可以用于网站的操作,推荐用后者; 7,选上“使用SQL身份操作验证“后,填写你的用户名和密码,我自己选择的是系统默认号码“sa“,“****“,数据库选择刚新建的“ABC“,按“下一步“; 8,这一步的两个单项选择,“从数据源复制表和视图“与“用一条查询指令指定要传输的数据“,选择前者,按“下一步“继续; 9,这里将出现你自己ACCESS数据库的表,按“全选“后,下一步; 10,“DTS导入/导出向导“,看“立即运行“被选中按“下一步“, 11,按“完成“继续; 12,这个步骤你将看到你的数据被导入SQL2000里面,当出现“已经成功把XXX个表导入到数据库“的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的叉的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了. 三,数据修改 1,由于SQL2000里面没有“自动编号“,所以你的以“自动编号“设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的“标示“选择“是“,种子为“1“,增量为“1“, 2,另外,ACCESS2000转换成SQL2000后,原来属性为“是/否“的字段将被转换成非空的“bit“,这时候你必须修改成自己想要的属性了; 3,另外,大家要注意对时间函数的把握.ACCESS与SQL是有很多不同的. ACCESS改为SQL需要注意哪几个地方 数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,最好用decimal。 所有的默认值都丢失了。主要是数字类型和日期类型。 所有now(),time(),date()要改成getdate()。 所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2) 有可能一些true/false类型不能使用,要变为1/0。 备注类型要通过cast(column as varchar)来使用。 CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能显示不完整。 isnull(rowname)要改成rowname = null ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。有时用smalldatetime型时,转化失败,而用datetime型时,转化成功。 对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete * from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“. 日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 ACCESS转SQL SERVER的数据库的几点经验 1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。 3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete * from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“. 4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
⑼ 如何向access数据库导入sql文件
一.使用SQL Server的数据库导入/导出功能。首先在要导入到的SQL Srever数据库上右键,选择“任务”,然后选择“导入数据”,按照提示下一步直到完成即可成功将Access数据库导入到SQL Server数据库中,此种方法如果SQLServer数据库中没有相应的数据表,则会自动创建改表,但是约束等表关系不会同步导入,如果SQLServer中有相同名称并且属性相同的数据表,则会直接将Access数据库中的对应表的数据导入。
在导入过程中,还可以通过SQL语句指定要导入的数据。
使用这种方法一般会出现以下两种错误:
(1)无法建立数据流连接
为连接管理器“{FFBF32BF-EE84-4F94-ACDB-D4C5AC4C2941}”指定的连接类型“OLEDB”未被识别为有效的连接管理器类型。当视图创建未知连接类型的连接管理器时会返回此错误。请检查连接类型名称的拼写是否正确。
(2)无法连接源组件
找不到连接“SourceConnectionOLEDB”。如果找不到特定的连接元素,Connections集合将发生此错误。
其他信息:
找不到连接“SourceConnectionOLEDB”。如果找不到特定的连接元素,Connections集合将发生此错误。
({0DE0CDBB-BCD6-4261-A118-B0CB22DA3C4A})
具体解决办法是打开SqlServerConfiguration Manage,右键单击“SqlServer Integration Services”,选择“属性”,将登录身份修改为“LocalSystem(本地系统)”,然后重新启动该服务。
二.使用Access数据库的数据升迁功能。首先点击“工具”菜单,选择“数据库实用工具”,选择“升迁向导”,这是会提示该功能尚未安装,需要安装XXX之类的信息,点击安装,等待安装成功后,即可弹出“升迁向导”对话框,按照提示下一步直到完成,即可将Access数据库导入到SQLServer数据库中。使用此种方法的好处是Access数据库中的所有数据以及表关系都会被原样导入到SQL Server数据库中。
三.使用SQL语句批量导入。1当只需要导入Access数据库中的指定表以及指定表的指定列到SQLServer数据库中时,前面的两种方法就显得不那么方便了。而使用SQL语句导入可以方便快捷的导入需要的数据。具体代码如下
(1)SQLServe数据库中已存在要导入数据的表.(这样可以事先按照要导入的Access数据库的数据表创建好需要的关系)
Insert intotable(tid,tname)SELECT id,nameFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
(2)SQLServer数据库中不存在要存储导入数据的表.(使用下面的代码会直接在SQL Server数据库中创建相应的数据表)
SELECTid,nameINTO table(tid,tname)FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
其中,table是SQL Server中用来存储Access导入数据的数据表名,ShopGoods是指要导入到SQLServer中的Access数据库中的数据表名。前面的三个点不能省略。
但使用这种方法时有可能出现以下错误:
SQLServer 阻止了对组件 'Ad Hoc DistributedQueries' 的STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQLServer 联机丛书中的 "外围应用配置器"。
具体解决办法是使用如下语句启用“'AdHoc Distributed Querie”
EXECsp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'AdHoc Distributed Queries', 1 GO RECONFIGURE GO