2009年12月15日星期二

Re: [PerlChina] DBI如何连接到MYSQL数据库(出现链接错误)

在网页执行打印的是什么错误日志?

----------------------------------
msmouse@ir.hit.edu.cn
msmouse@gmail.com


2009/12/15 joewu <joewu@cyagen.com>


2009/12/15 joewu <joewu@cyagen.com>


2009/12/15 msmouse <msmouse@gmail.com>
mysql_read_default_file=/my.cnf

改成

mysql_read_default_file=./my.cnf  (多个点)

----------------------------------
msmouse@ir.hit.edu.cn
msmouse@gmail.com


2009/12/15 joewu <joewu@cyagen.com>


2009/12/15 msmouse <msmouse@gmail.com>

。。没明白我的意思?你是不是把my.ini写成my.cnf了? 还有它的位置是根目录"/"下么?


----------------------------------
msmouse@ir.hit.edu.cn
msmouse@gmail.com


2009/12/15 joewu <joewu@cyagen.com>


2009/12/15 joewu <joewu@cyagen.com>


2009/12/15 smallfish <smallfish.xy@gmail.com>

很明显帐户密码啥的不对 :)
--
blog: http://chenxiaoyu.org/blog/


2009/12/15 joewu <joewu@cyagen.com>
use Cwd;
my $orig_dir=cwd();
chdir("D:\Program Files\Apache Software Foundation\Apache2.2\logs") or die "Cannot chdir: $!\n";
my $dsn="DBI:mysql:vb;mysql_read_default_file=/my.cnf";
my %conn_attrs=(RaiseError=>1,PrintError=>0,AutoCommit=>1);
my $dbh=DBI->connect($dsn,undef,undef,\%conn_attrs);
chdir($orig_dir) or die "Cannot chdir:$!\n";
my $sth=$dbh->prepare(insert into tbl_username(username,password,email,organization,other_org) values(?,?,?,?,?));

其中my.ini文件内容是:
[client]
host=localhost
user=root
password=7232830

发现连接到mysql数据库时候出现以下错误:
DBI connect('vb;mysql_read_default_file=/my.ini','',...) failed: Access denied for user 'ODBC'@'localhost' (using password: NO) at D:\Program Files\Apache Software Foundation\Apache2.2\mason\obj\3045446373\test2\lib\validateUser.mas.obj line 36

这种写法我是参考书上写的 ,但总是出现错误!

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
账户和密码是没错的:

my $dsn="DBI:mysql:vb:localhost";
my $user_name="root";
my $password="7232830";
my %conn_attrs=(RaiseError=>1,PrintErros=>0,AutoCommit=>1);
my $dbh=DBI->connect($dsn,$user_name,$password,\%conn_attrs);
这是另外的一种写法 ,这种写法是可以连接到数据库的。但数据库信息就泄漏,使用不安全。所以我换成上面的写法 但是 是错误的。
 没有,my.ini内容是有的。目录下也有这个文件。我的系统是WINDOWS的

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
呵呵 ,my.cnf和my.ini都试过了。是在 D:\Program Files\Apache Software Foundation\Apache2.2\logs 下的 通过chdir改变了它的根目录。

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
不行啊。会不会是my.ini里面的内容错了呢?
[client]
host=localhost
user=root
password=7232830
晕 为什么我在pl文件上执行可以。但放在网页上就不行了

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: