Có ai đã thành công với điều này không? Không có nhiều tài liệu tham khảo trực tuyến và tôi đã cạn kiệt mọi kết quả có liên quan trên Google. Đây là kịch bản của tôi:Kết nối với Teradata qua Perl
#!/usr/bin/perl
use DBI;
use DBD::ODBC;
$user = "user";
$pw = "pw";
$ip = "192.168.1.0"
#DBI->trace(DBD::ODBC->parse_trace_flags('odbconnection'));
#my $connect_attrs = { PrintError => 0, RaiseError => 1, AutoCommit => 1 };
my $dbh = DBI->connect("dbi:ODBC:$ip", $user, $pw);
Các thông báo lỗi:
DBI connect('192.168.1.0','user',...) failed: (no error string) at ./teradata.pl line 13
Hai dòng được nhận xét ra là còn sót lại từ những nỗ lực không kết quả trước đây của tôi để kết nối với DB.
CẬP NHẬT: Dưới đây là những nỗ lực trước đây tôi đã thực hiện với mô-đun DBD.
#!/usr/bin/perl
use DBI;
$user = "xxxx";
$pw = "xxxx";
my $dbh = DBI->connect("dbi:Teradata:tdsn", $user, $pw);
Lỗi:
DBI connect('tdsn','xxxx',...) failed: Unable to get host address. at ./teradata.pl line 12
Second Attempt:
#!/usr/bin/perl
use DBI;
$user = "xxxx";
$pw = "xxxx";
my $dbh = DBI->connect("dbi:Teradata:192.168.1.0", $user, $pw);
Lỗi:
DBI connect('192.168.1.0','xxxx',...) failed: Deprecated logons are not allowed by administrator. Upgrade client software to latest version. at ./teradata.pl line 12
thứ ba ...
#!/usr/bin/perl
use DBI;
use DBD::ODBC;
$user = "xxxx";
$pw = "xxxx";
my $dbh = DBI->connect("dbi:ODBC:tdsn", $user, $pw);
.odbc.ini
[ODBC]
InstallDir = /usr/odbc
Trace = 0
TraceDll = /usr/odbc/lib/odbctrac.so
TraceFile = /home/xxxx/odbctrace.log
TraceAutoStop = 0
[ODBC Data Sources]
default = tdata.so
testdsn = tdata.so
[default]
Driver = /usr/odbc/drivers/tdata.so
Description = Default DSN is Teradata 5100
DBCName = **ip_addr**
LastUser = DLPStats
Username = xxxx
Password = xxxx
Database = MSS_TEMP
DefaultDatabase = MSS_TEMP
[tdsn]
Driver=/usr/odbc/drivers/tdata.so
Description=Teradata running Teradata V1R5.2
DBCName=**ip_addr**
LastUser=
Username=xxxx
Password=xxxx
Database=
DefaultDatabase=
Lỗi:
DBI connect('tdsn','xxxx',...) failed: (no error string) at ./teradata.pl line 13
ODBCINST.INI
[ODBC DRIVERS]
Teradata=Installed
[Teradata]
Driver=/usr/odbc/drivers/tdata.so
APILevel=CORE
ConnectFunctions=YYY
DriverODBCVer=3.51
SQLLevel=1
mô-đun DBI có cung cấp giao diện cho Teradata không? Sử dụng mô-đun 'DBD :: Teradata' thay vì – Rahul
Tôi đã cố gắng nhưng mô-đun này đã lỗi thời cho phiên bản Teradata của tôi. Cung cấp cho tôi một lỗi về thông tin đăng nhập không được chấp nhận. – SemperFly
Vâng, tôi chỉ googled một chút và thấy rằng hầu như tất cả mọi người đã không sucesfull với DBI OR DBD :: ODBC cho Teradata. Một trong nhiều tôi có thể đề nghị là ... thử với trình điều khiển Teradata ODBC mà đi kèm với khách hàng Teradata và xem nếu nó cho phép bạn đi qua – Rahul