微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl 连接sql server数据库

本质上是和连接MysqL一样的,但是需要配置很多东西

先看代码:

use DBI;
my $DSN = "driver={sql Server};server=192.168.1.213;database=msy;uid=perlname;pwd=6789177";
my $dbh=DBI->connect("DBI:ODBC:$DSN") or die "Couldn't open database: DBI->errstr";
my $sth=$dbh->prepare("select * from SITE where SITEID='1'") or die "Couldn't prepare statement: DBI->errstr";
$sth->execute();
while (@data = $sth->fetchrow_array()) {
print "id:$data[0]\t name:$data[1]\n";
}
$sth->finish();
$dbh->disconnect();

1.如果你报

DBI connect('driver={sql Server};Server=192.168.1.213;Database=msy;UID=perl
name;PWD=6789177','',...) Failed: [Microsoft][ODBC sql Server Driver][dbnETLIB]
无效的连接。 (sql-08001) [state was 08001 Now 01000]
[Microsoft][ODBC sql Server Driver][dbnETLIB]Connectionopen (ParseConnectParams(
)). (sql-01000) at D:\Perl\sql.pl line 3
Couldn't open database: DBI->errstr at D:\Perl\sql.pl line 3.

需要建立个用户,来sql登录当初建立了sa就不用建立了

如果没建立的话,就新建登录

再选服务器角色为和用户映射

选中你要操作的表
不然会出现:

DBD::ODBC::st execute Failed: [Microsoft][ODBC sql Server Driver][sql Server]拒 绝了对对象 'ADVERTISING' (数据库 'msy',架构 'dbo')的 SELECT 权限。 (sql-42000) at D:\Perl\sql.pl line 5. 没有权限

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐