簡體   English   中英

從Heroku上的Perl連接到SQL Server時出現SQL IM002錯誤

[英]SQL IM002 Errors while connecting to SQL Server from perl on heroku

我在heroku上托管了一個perl應用程序,該應用程序需要與某些sql服務器連接。 我無法建立連接。 失敗並顯示以下錯誤:

DBI connect('Driver = {用於SQL Server的ODBC驅動程序11}; Server = ****; UID = ****; PWD = ****','',...)失敗:[unixODBC] [驅動程序管理器]找不到數據源名稱,在work.pl第12行中未指定默認驅動程序(SQL-IM002)。

這是代碼。

work.pl

use strict;
use warnings;

use DBI;


my $DRIVER = '{ODBC Driver 11 for SQL Server}';
my $SERVER = '****';
my $UID = '****';
my $PWD = '****';

my $x = DBI->connect("dbi:ODBC:Driver=$DRIVER; Server=$SERVER; UID=$UID; PWD=$PWD");

相關環境變量:

LIBRARY_PATH=/app/.platform/vendor/usr/lib64:
LD_LIBRARY_PATH=/app/.platform/vendor/usr/lib64:
PATH=/app/.platform/vendor/usr/bin:/app/vendor/perl/bin:/usr/bin:/bin
LANG=en_US.UTF-8
ODBCSYSINI=/app/.platform/vendor/etc
HOME=/app
PWD=/app
ODBCINI=/app/.platform/vendor/etc/odbc.ini
ODBCHOME=/app/.platform/vendor/etc/
PERL5OPT=-Mlocal::lib=/app/vendor/perl-deps

odbcinst.ini:

Description             = ODBC for PostgreSQL
Driver          = /usr/lib/psqlodbc.so
Setup           = /usr/lib/libodbcpsqlS.so
Driver64                = /usr/lib64/psqlodbc.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage               = 1

[MySQL]
Description             = ODBC for MySQL
Driver          = /usr/lib/libmyodbc5.so
Setup           = /usr/lib/libodbcmyS.so
Driver64                = /usr/lib64/libmyodbc5.so
Setup64         = /usr/lib64/libodbcmyS.so
FileUsage               = 1

[ODBC Driver 11 for SQL Server]
Description             = Microsoft ODBC Driver 11 for SQL Server
Driver          = .platform/vendor/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0
Threading               = 1
UsageCount              = 1

odbc.ini為空。

我想念什么嗎?

嘗試了一切,找到了原因。 它應該是dbd:ODBC:DRIVER而不是dbd:ODBC:Driver。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM