解析:Perl下应当如何连接Access数据库
作者:yashi 来源:赛迪网 发布时间:2008-11-28 16:40:00
问:Perl下应当如何连接Access数据库
答:首先需要安装Win32-ODBC模块,具体的步骤如下:
1:从TOOLS栏目中下载Win32-ODBC.zip,下载完后用winzip解开到一个temp目录,共有三个文件:
Readme
Win32-ODBC.ppd
Win32-ODBC.tar.gz
2:在DOS窗口下,temp目录中运行下面的DOS命令:ppm install Win32-ODBC.ppd。
然后准备测试用数据库(Access)
1:启动MS ACCESS,建立一个新空数据库,命名为odbctest.mdb,保存在某一目录中(记住路径)。
2:然后新建一个表,建立三个字段:
Nighthawk nighthawk@163.net 20 1234567
John jt@163.net 24 0284393293
kit kit@21cn.com 18 3948932
字段名称 数据类型 长度
Name 字符, 长度50
Email 字符, 长度50
Age 数字、长整型
将这个表保存为address(注意这个例子中,没有用自动增加的ID。输入若干记录:
保存后,关闭数据库文件。
3:打开控制面板中的 ODBC数据源(32位),在用户DSN栏中,找到用户数据源列表,选中名称为“MS Access 97 Database”的一行,然后按“配置”键。
在Database框中按“Select..”,选择步骤1.2中建立的数据库文件odbctest.mdb,按OK即可。ODBC设置中的其它项目全部采用缺省设置,然后就是OK,确定,关闭对话窗口。
最后进行测试:
#!/usr/bin/perl
use Win32::ODBC;
$DSN = "MS Access 97 Database";
$DBase = "access.mdb";
#连接数据库
if (!($db = new Win32::ODBC($DSN))){
print "连接数据库失败.n";
exit();
}
else{
print "连接数据库成功 (连接号:", $db->Connection(), ")nn";
}
#数据库中的表
print "数据库中的表:";
@tables = $db->TableList;
print @tables;
print "n";
#选择数据表
if (! $db->Sql("SELECT * FROM [address] WHERE age>=20") ){
@FieldNames = $db->FieldNames();
$Cols = $#FieldNames + 1;
#表中字段数
print "表address字段数:$Colsn";
#字段列表
for ($i = 0; $i < $Cols; $i++){
print "$FieldNames[$i]t";
}
print "n";
#列出年龄大于20的记录
while($db->FetchRow()) {
@values = $db->Data();
print @values;
print "n";
}
}
##### sql #########
#添加记录
$sqlinsert = "INSERT INTO address
VALUES ('Euler', 'euler@21cn.com', 28, '021-345689')";
#更新记录
$sqlupdate = "UPDATE address SET age = age+10 ";
#删除记录
$sqldelete = "DELETE FROM address WHERE name='jimtyan'";
$rc = $db->Sql($sqlinsert);
die qq(SQL 失败 "$sqlinsert": ), $db->Error(), qq(n) if $rc;
$rc = $db->Sql($sqlupdate);
die qq(SQL 失败 "$sqlupdate": ), $db->Error(), qq(n) if $rc;
$rc = $db->Sql($sqldelete);
die qq(SQL 失败 "$sqldelete": ), $db->Error(), qq(n) if $rc;
#关闭链接
$db->Close();


猜你喜欢
- 有的时候我们在使用pycharm编辑python,需要导入各种各样的包,这些包是不能直接使用的,需要先进行安装。否则就会出现模块导入错误。下
- 1.父组件传递数据给子组件父组件数据如何传递给子组件呢?可以通过props属性来实现父组件:<parent> <child
- 一、一键安装Mysql脚本[root@uat01 ~]# cat InstallMysql01.sh #!/bin/bash#2018-10
- 前言之前在使用包括大型文档(商汤科技、百度飞浆)代码的时候都一直使用 pip install -v -e . ,这一命令,但是一直不是很清楚
- 对于网页制作者来说,最烦琐的事情可能就是给页面中的图片或文字加链接了。假如页面内容很多的话,那么所做的
- 基础知识铺垫学习图像金字塔,发现网上的资料比较多,检索起来比较轻松。图像金字塔是一张图像多尺度的表达,或者可以理解成一张图像不同分辨率展示。
- Python 网络请求模块 urllib 、requestsPython 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 u
- 出现invalid syntax报错的几种原因这篇文章旨为刚接触python不久的朋友,提供一点帮助,请在检查代码没有主要问题时再看是否存在
- 1、python大量的库为数据分析提供了完整的工具集2、比起MATLAB、R语言等其他主要用于数据分析语言,python语言功能更加健全3、
- my.ini 是啥玩意?my.ini是MySQL数据库中使用的配置文件,修改这个文件可以达到更新配置的目的。my.ini 在哪放着呢?my.
- 系统存储过程,sp_executesql 语言在这里! sp_executesql 执行可以多次重用或动
- 一般来说,内置的slice()函数会创建一个切片对象,可以用在任何允许进行切片操作的地方。下面是slice的简介:# slice 两种用法c
- 本文实例讲述了mysql 复制原理与实践应用。分享给大家供大家参考,具体如下:复制功能是将一个mysql数据库上的数据复到一个或多个mysq
- 学习笔记,写到哪是哪。接着上一篇对纯文本文件读写操作,主要去实现一些文件夹操作。创建文件夹创建文件夹的时候往往要先判断文件夹是否存在。样例代
- 一,索引的重要性索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,
- python读取npz/npy文件npz和npy文件都可以直接使用numpy读写。import numpy as npac = np.loa
- 1. 代码讲解1.1 导库import os.pathfrom os import listdirimport numpy as npimp
- 前言没有用过的东西,没有深刻理解的东西很难说自己会,而且被别人一问必然破绽百出。虽然之前有接触过python协程的概念,但是只是走马观花,这
- 项目github地址:bitcarmanlee easy-algorithm-interview-and-practice欢迎大家star,
- 1.MySQL8.0.20下载及解压下载链接https://dev.mysql.com/downloads/mysql/2.新建配置文件my