在网页引用数据库的详细方法(如何引用数据库数据)

在网页引用数据库的详细方法(如何引用数据库数据),第1张

1SQLServer2000常用的数据导入导出方法1

1通过DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,易于 *** 作,但熟悉的人一般不多,如果只是进行SQLServer数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动

在SQLServerEnterpriseManager中,展开服务器左边的+,选择数据库,右击,选择Alltasks/ImportData

(或Alltasks/ExportData

),进入向导模式,然后按照提示一步一步进行就可以了,里面分得非常详细,可以灵活的在不同数据源之间复制数据,非常的方便,而且还可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力

也可以直接打开DTS设计器,方法是展开服务器名称下面的DataServices,选LocalPackages,在右边的窗口中右击,选NewPackage,就打开了DTS设计器

值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引

其实在建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化

1

2利用Bcp工具这种工具虽然在SQLServer2000的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQLServer早期版本的人

不过Bcp确实有其局限性,首先它的界面不是图形化的;其次它只是在SQLServer的表(视图)与文本文件之间进行复制

但是另一方面,它也有其优点:性能好,开销小,占用内存少,速度快

1

3利用备份和恢复先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复 *** 作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了

这种方法可以完全恢复数据库,包括外键,主键,索引

1

4直接拷贝数据文件把数据库的数据文件(

mdf)和日志文件(

ldf)都拷贝到目的服务器,在SQLServerQueryAnalyzer中用语句进行恢复:EXECsp_attach_db@dbname=’test’,@filename1=’d:mssql7data est_data

mdf’,@filename2=’d:mssql7data est_log

ldf’这样就把test数据库附加到SQLServer中,可以照常使用,如果不想用原来的日志文件,可以用如下的命令:EXECsp_detach_db@dbname=’test’EXECsp_attach_single_file_db@dbname=’test’,@physname=’d:mssql7data est_data

mdf’这个语句的作用是仅仅加载数据文件,日志文件可以由SQLServer数据库自动添加,但是原来的日志文件中记录的数据就丢失了

1

5在应用程序中定制可以在应用程序(PB、VB)中执行自己编写的程序,也可以在QueryAnalyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要是SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:1

5

1select

intonew_tablenamewhere

1

5

2insert(into)old_tablenameselect

from

where

这两种方式的区别是前者把数据插入一个新表(先建立表,再插入数据),而后者是把数据插入已经存在的一个表中,一般来说,第二条语句强于前者

1

6SQLServer的复制功能SQLServer提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:1

6

1SQLServerAgent必须启动,MSDTC必须启动

1

6

2所有要复制的表必须有主键

1

6

3如果表中有text或image数据类型,必须使用withlog选项,不能使用withno_log选项

另外maxtextreplsize选项控制可以复制的文本和图像数据的最大规模,超过这个限制的 *** 作将失败

1

6

4在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$

1

6

5为SQLServer代理使用的WindowsNT账号不能是一个本地的系统账号,因为本地的系统账号不允许网络存取

1

6

6如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系

2实现基于网页的数据库数据导入那么,如何实现基于网页的数据库数据导入呢,下面利用一个比较简单的网络介绍一下

假设某局域网的网络拓扑结构如下所示:其中服务器A和工作站B位于局域网内,工作站C与服务器D位于Internet内,局域网与Internet是物理隔离的,工作站C与工作站D在同一个办公室内,服务器A上的数据库管理系统是Oracle,服务器D上的数据库管理系统是SQLServer2000

由于工作需要,要求把服务器A的有关数据导入到服务器D上

2

1通常的工作流程:2

1

1在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件

2

1

2用移动硬盘把dbf文件从工作站B拷贝到工作站C上

2

1

3在工作站C上,用ftp软件将dbf文件上传到服务器D上

2

1

4在工作站C上,运行远程桌面软件登录到服务器D上

2

1

5在服务器D上,执行DTS,将dbf文件中的数据导入到SQLServer数据库

2

1

6在服务器D上,运行相关存储过程,做数据的后期处理工作

在许多情况下,因为各种不同情况的需要,这个工作流程每天(甚至更短的时间内)就要执行一次,非常繁琐,而且使用手工 *** 作,很容易出错

下面提出一种改进的方案

2

2改进后的工作流程2

2

1在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件

2

2

2用移动硬盘把dbf文件从工作站B拷贝到工作站C上

2

2

3在工作站C上,打开服务器D上的相关网页,利用网页将dbf文件的数据导入到服务器D上的SQLServer数据库中

首先,要在网页里实现上传功能,把dbf文件从工作站C上传到服务D上,这里就不多介绍了

要通过网页把dbf文件导入到SQLServer中,需要借助DTS可编程对象

DTS包含一组可编程COM对象,主要包含:DTS

Package、DTS

Connection、DTS

Step、DTS

、DTS

、DTS

在ASP网页里,通过用VBScript脚本创建调用DTS可编程COM对象,可以完成数据导入任务

SQLServer2000有比较详细的文档资料介绍DTS编程,但没有给一个具体的例子,如果仅参考文档资料,难度比较大,开发时间也会相当长

这里大概的介绍一下开发程序的过程

首先,在SQLSever2000的DTS设计器里,创建DTS包,实现从dbf文件到SQLServer2000的数据导入,把后期处理的存储过程也添加到DTS包里

将这个DTS包另存为VBScript文件

有了这个VBScript文件,开发程序就容易多了,加入所需要的其他代码,就可以在网页里实现数据库的数据导入

参考文献1张莉,等

SQLServer数据库原理及应用教程〔M〕

北京:清华大学出版社,2003

2梁方明

SQLServer2000数据库编程〔M〕

北京:北京希望电子出版社,2002

3LouisDavidson(美)

SQLServer2000数据库设计权威指南〔M〕

中国电力出版社,2002

[

Delphi中嵌入的数据库应用开发工具如Database Form Expert具有很强大的功能 我们不需要编写任何程序代码便可以快速地创建一个简单的数据库应用程序 甚至还能创建基于多个数据库表的主要──明细型数据库应用程序

本章主要介绍用Delphi开发简单的数据库应用程序的一般方法和步骤 首先让读者对Delphi强劲的数据库应用开发工具有一个直观的印象 然后在此基础上进行复杂的数据库应用程序的设计 本章主要包括以下内容

● 创建数据库应用窗体

包括用Database Form Expert 或手工方式创建简单的无需编写程序代码的应用程序或者利用多个部件并编写功能复杂的程序代码创建主要──明细型数据库应用程序

● 在应用程序中控制字段有关的属性

描述怎样读写数据库表中字段的值和控制字段的显示格式等

本章所介绍的例子中用到的窗体 数据库表以及相关的文件都是在安装Delphi时缺省安装在C:\DELPHI\DEMOS\DB\MASTAPP目录中 并且用别名DBDEMOS表示这一子目录 在本章例子中 除特殊声明外 所有的TTable和 TQuery 部件的 DatabaseName 属性都设置为DBDEMOS

简单的基于单表的据库应用

用Decphi创建显示一个数据库表中的内容的应用非常简单和方便 只需要三个部件 只要将这三个部件通过相关的属性相互联系起来 不需要编写任何程序代码便可以实现 例如 用户想查看数据库表Customer DB中的内容时 可以按下面步骤来实现

选择相关的部件

选择菜单Project/New开始一个新工程 并修改Form 的Caption属性为CustomerFrom 并把Name属性设置为CustomerForm 然后从部件选择板上的Data Access 页上选取一个Datasounce部件和一个Table部件放到窗体的左上角 它们是非可见的部件 在窗体中我们看到的只是部件的图标 从Data Control页上选取DBGrid部件放到窗体中前两个部件的下面 完成这些工作之后 窗体如图 所示

图在CustomerFrom 窗体中放置三个部件

设置部件的属性

为了使TDBGrid部件能够显示数据库表Customer DB中的客户信息 我们必须修改窗体三个部件相关的属性 这些属性的设置如表 所示

表 CustomerFrom 窗体中三个部件的属性设置

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

属 性 属 性 值

──────────────────────────────

DataSource AutoEdit False

DataSource DataSet Table

Table DatabaseName DBDEMOS

Table TableName CUSTOMER DB

Table Active True

DBGrid DataSource DataSource

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

这里要注意的是 DBDEMOS是Delphi缺省安装时C:\Delphi\DEMO\DB\MASTAPP目录的别名 而且数据库表Customer DB存在该目录下 用户在使用这一例子时 请注意这两项设置都是正确的 另外 Datasource Dataset Table TableName和DBGrid Datasource属性都有下拉式列表框允许用户从可能的值列表中选择它们的值 这样能方便我们进行属性的设置 而且不容易出错

Datasouuce AutoEdit属性设置为False是为了防止用户修改数据库表中的数据 在下面的讨论中我们将详细地进行说明

Table Active设置为True时 Delphi会打开Table TableName所指定的数据库表 如果这个数据库表不存在(或表中什么也没有 即空表) Delphi 会d出出错信息并且Table Active变成False 当Table Active被设置成True之后 Table 部件的一些属性就不能再修改了 如Table DatabaseName和Table Tablename属性 若要修改它们 必须首先要将Table Active属性设置为False 然后再进行修改 否则 Delphi会d出错误信息 Cannot perform this operation on an open database 当看到这个错误信息时 只需把Table Active置成False 完成相关的修改后 再把 Table Active 属性设置为True

当我们把DBGrid DataSource的值设置成DataSource 时 Delphi会把Customer DB中的数据填充到DBGrid 部件中 并且可以用DBGrid 中的滚动条来浏览数据库表中的所有记录

运行程序

保存文件 命名代码单元为Cust pas 命名工程名为CustPRJ DPR 然后按F 编译并运行程序 程序执行之后 我们可以使用滚动条或键盘移动键在字段和记录间移动 但不能修改表中的数据 因为Datasouc AutoEdit 属性已被设置为False

Cust程序中的三个部件都有各自的特殊用途 三个部件的相关属性在内部相互联系生成最终的应用程序 TTable部件连接磁盘上的实际数据库表和应用程序中其他部件的通道 TTable部件具有打开和关闭 读取 更新以及其他处理磁盘数据库文件的方法

TDatasource部件是连接TTable部件和数据浏览部件如TDBGrid部件的桥梁 TDBGrid部件用于显示数据库表中的数据信息 它为应用程序提供一个直观的界面 图 阐述了这三个部件之间的关系

Cust程序中三个部件之间的内部关系

TDBGrid 部件的奇妙之处在于它知道如何去获取数据库表中的下一条或前一条记录 我们使用滚动条或箭头键便可以完成这项任务 TDBGrid部件不知道如何增加 删除和修改记录 如果想让 Cust 程序能够修改数据库表中的记录 只要把 Datasource 部件的AutoEdit属性设置成True 并重新编译和运行程序就可以达到目的 使用箭头键 把DBGrid的高亮度条定位到某一个字段上 然后键入新值 该字段中的值将被键入的新值所取代 并且当移动到另一条记录时 健入的信息会自动写入数据库表中 如果想放弃所做的改动 只需在离开该字段前按一下Escape键

如果想在表中增加新记录 可以把高亮度条移到网格底端的空白记录上并输入新记录的有关字段值 也可以在用户指定的某一条记录的后面插入一条新记录 只要把高亮度条定位到指定的记录上 按Ins键 使可以在该记录的后面插入新记录

删除某一条记录时 把高亮度条定位在想删除的记录的任何字段上 按Ctrl+ del键 这时会出现保护信息 我们可以确认是否真的想删除该项记录

TDBGrid为用户提供了较完备的功能 用于控制是否编辑 增加或删除记录 若想禁止对数据库表作任何修改 设置TDBGrid部件的Readonly属性为 True 并设置 Option dgEDiting为False(这将为我们提供一个只读的数据库表浏览器而不是数据库编辑器 但它隐含着增加 编辑和删除记录的能力) TDBGrid部件的这些属性和Option属性其它选项的各种不同组合可以让我们很方便地对数据库表进行有效的浏览 编辑等 *** 作

如果我们经常使用像电子表格那样的界面来显示和编辑数据记录 TDBGrid 部件便是一个很方便的工具 但那并不是最友好的用户界面 如果想拥有更优美更直观的界面 我们还可以使用单独的数据浏览部件来显示数据库表中各个字段的值 并利用TDBNavigator部件控制对数据库表的存取

lishixinzhi/Article/program/Delphi/201311/25173

MySQL是一个开源且免费的数据库系统,适合于中小规模应用,管理超大规模的数据库比较困难。因其免费,目前被广泛用于网站的后台数据库系统。其相比商业的数据库系统如Microsoft的 SQL Server、甲骨文的Oracle、IBM的DB2,当然其最大的优势是免费,其次比较小巧,但功能和性能一点也不差,做网站和PHP是绝配。当然和Access相比,MySQL专业的多了,Access只是一个微型且性能稳定性比较差的数据库,这些数据库系统工作的原理都是差不多的,以表的形式存储数据

以上就是关于在网页引用数据库的详细方法(如何引用数据库数据)全部的内容,包括:在网页引用数据库的详细方法(如何引用数据库数据)、DELPHI基础教程:简单数据库应用的创建及MASTAPP介绍(一)[1]、MySQL如何使用它是怎样工作的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9742508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存