ADO可以与ASP结合,以建立提供数据库信息的主页内容,在主页画面执行SQL命令,让用户在浏览器画面中输入,更新和删除站点服务器的数据库信息;ADO使用RecordSets对象,作为数据的主要接口;ADO可使用Vbscript,JavaScript语言来控制数据库的访问,与查询结果的输出显示画面;ADO可连接多种的数据库,包括SQL Server、Oracle、Informix等支持ODBC的数据库。因此,在使用ADO访问数据库之前我们还有一项重要的工作要做,那就是创建和配置ODBC数据源。
1. ODBC的定义
首先,还是也让我们来解释一下有关ODBC的概念,这将有利于下面内容的理解。ODBC(Open Database Connectivity开放式数据库互联)是微软推出的一种工业标准,一种开放的独立于厂商的API应用程序接口,可以跨平台访问各种个人计算机、小型机以及主机系统。ODBC作为一个工业标准,绝大多数数据库厂商、大多数应用软件和工具软件厂商都为自己的产品提供了ODBC接口或提供了ODBC支持,这其中就包括常用的SQL SERVER、ORACAL、INFORMIX等,当然也包括了Access。
数据库驱动程序使用Data Source Name (DSN) 定位和标识特定的 ODBC 兼容数据库,将信息从 Web 应用程序传递给数据库。典型情况下,DSN 包含数据库配置、用户安全性和定位信息,且可以获取 Windows NT 注册表项中或文本文件的表格。通过 ODBC,我们可以选择希望创建的 DSN 的类型:用户、系统或文件。
为了更好地让大家理解上一段话,我们接下来来解释一下其中的几个名词:
DSN:根据MICROSOFT的官方文档,DSN的意思是“应用程序用以请求一个连到ODBC数据源的连接(CONNECTION)的名字”,换句话说,它是一个代表ODBC连接的符号。它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户ID、密码等细节。因此,当建立一个连接时,你不用去考虑数据库文件名、它在哪儿等等,只要给出它在ODBC中的DSN即可。
FILE DSN: 当我们讨论这个问题时,先看看其他的DSN类型
SYSTEM DSN:这种DSN可以被任何登录到系统中的用户使用。
USER DSN:这是为特定用户建立的DSN。只有建立这个DSN的用户才能看到并使用它。在上面的两种情况中,DSN的细节都储存在系统的注册表中。
Ⅱ mysql数据库配置文件放在服务器的什么地方
一般分为windows和linux
windows通常放在安装目录下的MySQLMySQLServer5.0my.ini
Linux默认是放在/etc/my.cnf
以下是my.cnf配置文件参数解释:
[client]
port=3309
socket=/home/mysql/mysql/tmp/mysql.sock
[mysqld]
!include/home/mysql/mysql/etc/mysqld.cnf#包含的配置文件,把用户名,密码文件单独存放
port=3309
socket=/home/mysql/mysql/tmp/mysql.sock
pid-file=/longxibendi/mysql/mysql/var/mysql.pid
basedir=/home/mysql/mysql/
datadir=/longxibendi/mysql/mysql/var/
#tmpdirsettings
tmpdir=/home/mysql/mysql/tmp/
slave-load-tmpdir=/home/mysql/mysql/tmp/
#当slave执行loaddatainfile时用
#language=/home/mysql/mysql/share/mysql/english/
character-sets-dir=/home/mysql/mysql/share/mysql/charsets/
#skipoptions
skip-name-resolve#grant时,必须使用ip不能使用主机名
skip-symbolic-links#不能使用连接文件
skip-external-locking#不使用系统锁定,要使用myisamchk,必须关闭服务器
skip-slave-start#启动mysql,不启动复制
#sysdate-is-now
#ressettings
back_log=50#接受队列,对于没建立tcp连接的请求队列放入缓存中,队列大小为back_log,受限制与OS参数
max_connections=1000#最大并发连接数,增大该值需要相应增加允许打开的文件描述符数
max_connect_errors=10000#如果某个用户发起的连接error超过该数值,则该用户的下次连接将被阻塞,直到管理员执行flushhosts;命令;防止黑客
#open_files_limit=10240
connect-timeout=10#连接超时之前的最大秒数,在Linux平台上,该超时也用作等待服务器首次回应的时间
wait-timeout=28800#等待关闭连接的时间
interactive-timeout=28800#关闭连接之前,允许interactive_timeout(取代了wait_timeout)秒的不活动时间。客户端的会话wait_timeout变量被设为会话interactive_timeout变量的值。
slave-net-timeout=600#从服务器也能够处理网络连接中断。但是,只有从服务器超过slave_net_timeout秒没有从主服务器收到数据才通知网络中断
net_read_timeout=30#从服务器读取信息的超时
net_write_timeout=60#从服务器写入信息的超时
net_retry_count=10#如果某个通信端口的读操作中断了,在放弃前重试多次
net_buffer_length=16384#包消息缓冲区初始化为net_buffer_length字节,但需要时可以增长到max_allowed_packet字节
max_allowed_packet=64M#
#table_cache=512#所有线程打开的表的数目。增大该值可以增加mysqld需要的文件描述符的数量
thread_stack=192K#每个线程的堆栈大小
thread_cache_size=20#线程缓存
thread_concurrency=8#同时运行的线程的数据此处最好为CPU个数两倍。本机配置为CPU的个数
#qcachesettings
query_cache_size=256M#查询缓存大小
query_cache_limit=2M#不缓存查询大于该值的结果
query_cache_min_res_unit=2K#查询缓存分配的最小块大小
#defaultsettings
#timezone
default-time-zone=system#服务器时区
character-set-server=utf8#server级别字符集
default-storage-engine=InnoDB#默认存储
#tmp&heap
tmp_table_size=512M#临时表大小,如果超过该值,则结果放到磁盘中
max_heap_table_size=512M#该变量设置MEMORY(HEAP)表可以增长到的最大空间大小
log-bin=mysql-bin#这些路径相对于datadir
log-bin-index=mysql-bin.index
relayrelay-log=relay-log
relayrelay_log_index=relay-log.index
#warning&errorlog
log-warnings=1
log-error=/home/mysql/mysql/log/mysql.err
log_output=FILE#参数log_output指定了慢查询输出的格式,默认为FILE,你可以将它设为TABLE,然后就可以查询mysql架构下的slow_log表了
#slowquerylog
slow_query_log=1
long-query-time=1#慢查询时间超过1秒则为慢查询
slow_query_log_file=/home/mysql/mysql/log/slow.log
#log-queries-not-using-indexes
#log-slow-slave-statements
general_log=1
general_log_file=/home/mysql/mysql/log/mysql.log
max_binlog_size=1G
max_relay_log_size=1G
#ifuseauto-ex,setto0
relay-log-purge=1#当不用中继日志时,删除他们。这个操作有SQL线程完成
#maxbinlogkeepsdays
expire_logs_days=30#超过30天的binlog删除
binlog_cache_size=1M#session级别
#replication
replicate-wild-ignore-table=mysql.%#复制时忽略数据库及表
replicate-wild-ignore-table=test.%#复制时忽略数据库及表
#slave_skip_errors=all
key_buffer_size=256M#myisam索引buffer,只有key没有data
sort_buffer_size=2M#排序buffer大小;线程级别
read_buffer_size=2M#以全表扫描(SequentialScan)方式扫描数据的buffer大小;线程级别
join_buffer_size=8M#joinbuffer大小;线程级别
read_rnd_buffer_size=8M#MyISAM以索引扫描(RandomScan)方式扫描数据的buffer大小;线程级别
bulk_insert_buffer_size=64M#MyISAM用在块插入优化中的树缓冲区的大小。注释:这是一个perthread的限制
myisam_sort_buffer_size=64M#MyISAM设置恢复表之时使用的缓冲区的尺寸,当在REPAIRTABLE或用CREATEINDEX创建索引或ALTERTABLE过程中排序MyISAM索引分配的缓冲区
myisam_max_sort_file_size=10G#MyISAM如果临时文件会变得超过索引,不要使用快速排序索引方法来创建一个索引。注释:这个参数以字节的形式给出.重建MyISAM索引(在REPAIRTABLE、ALTERTABLE或LOADDATAINFILE过程中)时,允许MySQL使用的临时文件的最大空间大小。如果文件的大小超过该值,则使用键值缓存创建索引,要慢得多。该值的单位为字节
myisam_repair_threads=1#如果该值大于1,在Repairbysorting过程中并行创建MyISAM表索引(每个索引在自己的线程内)
myisam_recover=64K#允许的GROUP_CONCAT()函数结果的最大长度
transaction_isolation=REPEATABLE-READ
innodb_file_per_table
#innodb_status_file=1
#innodb_open_files=2048
innodb_additional_mem_pool_size=100M#帧缓存的控制对象需要从此处申请缓存,所以该值与innodb_buffer_pool对应
innodb_buffer_pool_size=2G#包括数据页、索引页、插入缓存、锁信息、自适应哈希所以、数据字典信息
innodb_data_home_dir=/longxibendi/mysql/mysql/var/
#innodb_data_file_path=ibdata1:1G:autoextend
innodb_data_file_path=ibdata1:500M;ibdata2:2210M:autoextend#表空间
innodb_file_io_threads=4#io线程数
innodb_thread_concurrency=16#InnoDB试着在InnoDB内保持操作系统线程的数量少于或等于这个参数给出的限制
innodb_flush_log_at_trx_commit=1#每次commit日志缓存中的数据刷到磁盘中
innodb_log_buffer_size=8M#事物日志缓存
innodb_log_file_size=500M#事物日志大小
#innodb_log_file_size=100M
innodb_log_files_in_group=2#两组事物日志
innodb_log_group_home_dir=/longxibendi/mysql/mysql/var/#日志组
innodb_max_dirty_pages_pct=90#innodb主线程刷新缓存池中的数据,使脏数据比例小于90%
innodb_lock_wait_timeout=50#InnoDB事务在被回滚之前可以等待一个锁定的超时秒数。InnoDB在它自己的锁定表中自动检测事务死锁并且回滚事务。InnoDB用LOCKTABLES语句注意到锁定设置。默认值是50秒
#innodb_flush_method=O_DSYNC
[mysqlmp]
quick
max_allowed_packet=64M
[mysql]
disable-auto-rehash#允许通过TAB键提示
default-character-set=utf8
connect-timeout=3
Ⅲ 通过plsql查看数据库连接配置
1.安装PLSQL Developer
Oracle数据库和PL/SQL Developer的安装步骤,这里就不做叙述了,网络安装方法的时候有说在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer,这个我也没试过,既然有人遇到了这个情况,大家还是不要直接安装到x86下面。安装完成后运行PLSQL,会出现如下画面,username和password就是你的数据库的账户密码,DataBase你会发现这个时候是没有内容的,是正常的,点击calcle跳过,直接进入主界面。
进入主界面后点击Tools下的preferences进入参数设置页面
配置oracle home和oci library两个参数,home名字可以自己随便取,也可以设置到数据库的安装目录,oci library直接下拉,就会出现配置路径,点击确定并退出,重新点开PLSQL,如果DataBase出现你自己安装的oracle数据库的信息,便可输入账号密码用PLSQL对数据库表进行操作管理了,如果你安装的64位的数据库,可能还是会出现按照上述步骤后,还是无法出现数据库信息的情况,那些进行如下操作
2.安装oracle Clinet
当安装第一步完成后database并没有出现数据库信息,点击跳过后报错,弹出信息框Mark sure you have the 32 batis oracle client installed ,这个时候就需要去oracle官网下载一个oracleClinet的安装包,安装包为绿色版本的,解压及用官网地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html记得下载32batis版本的,还有就是下载资源需要有oracle的账户,免费的,如果没有注册一个就OK了将下载的Oracle Client文件instantclient-basic-win32解压到需要安装的盘符。然后在解压后的D:\instantclient,在目录下新建NETWORK\ADMIN目录,在ADMIN目录下新建tnsnames.ora文件,添加数据库TNS。
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = chiclewu-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
tnsnames.ora文件也可以从Oracle数据库HOME目录的NETWORK\ADMIN目录,还要把sqlnet.ora拷贝过来,然后放在NETWORK\ADMIN目录下。
完成后再次运行PLSQL并跳过登录,直接进入参数设置界面,将Oracle Home路径指定为Oracle Client目录(D:\instantclient_11_2),同样,home这个名字可以自己取。OCI Libaray路径为Oracle Client目录的oci.dll(D:\instantclient_11_2\oci.dll)。
保存后再次运行PLSQL,就会发现database出现数据库安装信息了,选择用户名密码及需要登录的数据库,点击登录,就可以进入主界面管理数据库了。
3.PLSQL Developer常用操作
进入主界面后在桌面选择myobject,并选择table对象,就可以看到当前数据库下的所有的表
选择需要查看的表,鼠标邮件-->query data就可以查看表内的所有数据及表结构
如果想使用SQL语句通过条件对表格进行查询,或者想出现SQL语句输入界面,可以点击左上角的文件图标并选择SQL windows选项即可,sql语句书写完成后点击运行按钮(一个齿轮图标),即可对选中的sql语句进行运行。
运行SQL语句按钮
选中表格右键Edit即可对表格信息进行编辑
查看表中的索引
选中表,右键, view -->indexes就可以查看到表中的索引
这里只能看到表中那些数据列有索引,但是如果先知道查询语句是否使用索引,还需使用SQL语句进行查询
--需要分析有无索引的SQL语句,for后面的
EXPLAIN PLAN FOR SELECT sex FROM people where sex like '男%';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
以上语句需要两条同时运行,从语句运行结果可以发现,此语句sex列有使用到索引
以上就是PLSQL的基本操作流程,剩余操作有空再进行整理补充。
^_^
Ⅳ plsql如何配置连接oracle数据库
plsql如何配置连接oracle数据库,具体操作方法如下:
1、首先我们打开PLSQL,点取消进去进入数据库。