perl odbc怎么连接数据库

perl odbc怎么连接数据库,第1张

如果在Windows平台下运行perl脚本,建议使用依赖DBI的两个模块包,提供标准的数据库接口模块。

DBD::ODBC

DBD::ADO

使用DBD::ODBC

DBI默认是自动commit的。

因此,你循环里面的

$ImportData->execute(temp[0],$temp[1],$temp[2],$temp[3],temp[4],$temp[5],$temp[6])

每插一行,就commit一次,效率就很差了。

1.在连接库后,禁用自动commit:

$dbh->{AutoCommit} = 0

2. 控制commit频度:

$ImportData->execute(temp[0],$temp[1],$temp[2],$temp[3],temp[4],$temp[5],$temp[6])

$i++

$dbh->commit() if $i % 1000==0 #插1000行,commit一次

然后,你就会体会到飞一般的感觉

首先得确保安装了数据库接口模块和相应数据库的驱动模块,如果是用MySql数据库(开源免费新手入门学习都喜欢),则需要确定DBI和DBD::mysql这两个模块是否安装;

然后在perl脚本中写:

!#usr/bin/perl -w

use strict

use DBI#使用DBI模块,DBD::mysql是驱动不必在脚本中使用,安装了就行

my $dbname = ""#引号里填上数据库名

my $ip = "" #引号里填上要访问的数据库的ip地址,数据库是本机就写127.0.0.1

my $port = "" #引号里填上要访问的数据库的端口号,mysql默认端口号是3306

my $host = "dbi:mysql:" . $dbname . ":" . $ip . ":" . $port

my $user = "root"#访问数据库使用的用户名

my $password = "xXxX" #该用户名所使用的密码

my $dbh = DBI ->connect($host,$user,$password) or die "$@" #与数据库建立连接

$dbh ->do("set names \'gbk\'") #设置输出中文不乱码

while(1)#条件永远为真,除非人为终止,否则不会停止

{#可以使用control+c停止脚本执行

my $sql = "" #引号里填上sql语句

$sth = $dbh ->prepare($sql)#送入数据库做准备

$sth ->execute()#执行这条sql语句

sleep(300) #设置300秒暂停执行,300秒后继续执行while

}

$dbh ->disconnect() #断开与数据库的连接

这里使用的是最新的perl和最新的mysql最新,不是复制粘贴别人代码,前几天还在用,保证思路没有问题。


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

原文地址: http://outofmemory.cn/sjk/6844204.html

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

发表评论

登录后才能评论

评论列表(0条)

保存