无法为 CMS WebGUI 创建数据库 link
Can't create a database link for CMS WebGUI
我已经更新了整个场景(最后一个是 i686 和 x64 库之间的冲突)
现在我有一个 VPS,带有全新的 CentOS 6.6 32 位,安装了 unixODBC、FreeTDS 和 WebGUI
我可以通过 isql 和 perl 脚本与 SQL Server 2008 完美连接。
但我的目标是为 WebGUI(一个基于 perl 的开源 CMS)
创建一个数据库 link
odbcinst -j
的输出
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4
SQLSETPOSIROW Size.: 2
/etc/odbcinst.ini
[FreeTDS]
Description=v0.95.73
Driver=/usr/lib/libtdsodbc.so.0.0.0
UsageCount=1
/etc/odbc.ini
[DSN]
Description=DNS description
Driver=FreeTDS
Server=XX.XX.XX.XX
Database=myDatabase
Port=1433 #sql server default port
TDS_Version=7.3
Trace=Yes
TraceFile=/tmp/sql.log
当我执行这个 perl 脚本时,它运行正常。
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use DBD::ODBC;
my $dsn = "DBI:ODBC:DSN"; # Same DSN as above
my $db_user = "dbuser";
my $db_pass = 'dbpass';
my $dbh = DBI->connect($dsn, $db_user, $db_pass) or die "$DBI::errstr\n";
print "Connected\n";
my $query = "Select * from myTable";
my $sth = $dbh->prepare($query) or die "$DBI::errstr\n";
$sth->execute or die "$DBI::errstr\n";
# go do stuff!
# Close the database
$sth->finish;
$dbh->disconnect;
这是我要添加到 WebGUI 的数据库 link
当我提交更改时,我在浏览器中收到此错误:
代理错误
代理服务器收到来自上游服务器的无效响应。
代理服务器无法处理请求 POST /home.
原因:从远程服务器读取错误
modproxy.error.log
[Wed Dec 23 14:15:42 2015] [error] [client IP] proxy: Error reading from remote server returned by /home, referer: http://VPSIP/home?op=editDatabaseLink;dlid=y2Yf1_oEJD6-Wm-T-yHy-w
[Wed Dec 23 14:15:58 2015] [error] [client IP] (20014)Internal error: proxy: error reading status line from remote server 127.0.0.1:8081, referer: http://VPSIP/home?op=editDatabaseLink;dlid=y2Yf1_oEJD6-Wm-T-yHy-w
[Wed Dec 23 14:15:58 2015] [error] [client IP] proxy: Error reading from remote server returned by /home, referer: http://VPSIP/home?op=editDatabaseLink;dlid=y2Yf1_oEJD6-Wm-T-yHy-w
modperl.error.log
[Wed Dec 23 14:15:59 2015] [notice] child pid 7766 exit signal Segmentation fault (11)
也许 WebGUI 正在尝试从 SQL 服务器而不是 mysql 加载 /home? (我只想连接到 SQL 服务器来获取一些产品,没有别的)
如有任何帮助,我们将不胜感激
此致
尝试:导出 LD_LIBRARY_PATH=/usr/local/lib
在您的 odbc.ini
中,您指定了 odbcinst.ini
中定义的驱动程序。
为 odbc.ini
尝试此操作:
[DSN]
Description=DNS description
Driver=FreeTDS
Server=XX.XX.XX.XX
Database=myDatabase
Port=1433 #sql server default port
TDS_Version=7.3
此外,请确保您使用正确的 TDS 版本用于您正在使用的 SQL 服务器版本和 FreeTDS 版本。我建议坚持使用 7.2,除非您需要 7.3:http://www.freetds.org/userguide/choosingtdsprotocol.htm I've got example odbc.ini
, odbcinst.ini
and freetds.conf
files in this repo, if they help: https://github.com/FlipperPA/django-python3-vagrant/tree/master/examples
祝你好运!
好的,刚刚添加
use DBD::ODBC;
添加到文件 SQL.pm 并且 WebGUI 能够识别 unixODBC(以及 FreeTDS)。
圣诞快乐!!! :D
我已经更新了整个场景(最后一个是 i686 和 x64 库之间的冲突)
现在我有一个 VPS,带有全新的 CentOS 6.6 32 位,安装了 unixODBC、FreeTDS 和 WebGUI
我可以通过 isql 和 perl 脚本与 SQL Server 2008 完美连接。
但我的目标是为 WebGUI(一个基于 perl 的开源 CMS)
创建一个数据库 linkodbcinst -j
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4
SQLSETPOSIROW Size.: 2
/etc/odbcinst.ini
[FreeTDS]
Description=v0.95.73
Driver=/usr/lib/libtdsodbc.so.0.0.0
UsageCount=1
/etc/odbc.ini
[DSN]
Description=DNS description
Driver=FreeTDS
Server=XX.XX.XX.XX
Database=myDatabase
Port=1433 #sql server default port
TDS_Version=7.3
Trace=Yes
TraceFile=/tmp/sql.log
当我执行这个 perl 脚本时,它运行正常。
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use DBD::ODBC;
my $dsn = "DBI:ODBC:DSN"; # Same DSN as above
my $db_user = "dbuser";
my $db_pass = 'dbpass';
my $dbh = DBI->connect($dsn, $db_user, $db_pass) or die "$DBI::errstr\n";
print "Connected\n";
my $query = "Select * from myTable";
my $sth = $dbh->prepare($query) or die "$DBI::errstr\n";
$sth->execute or die "$DBI::errstr\n";
# go do stuff!
# Close the database
$sth->finish;
$dbh->disconnect;
这是我要添加到 WebGUI 的数据库 link
当我提交更改时,我在浏览器中收到此错误:
代理错误
代理服务器收到来自上游服务器的无效响应。 代理服务器无法处理请求 POST /home.
原因:从远程服务器读取错误
modproxy.error.log
[Wed Dec 23 14:15:42 2015] [error] [client IP] proxy: Error reading from remote server returned by /home, referer: http://VPSIP/home?op=editDatabaseLink;dlid=y2Yf1_oEJD6-Wm-T-yHy-w
[Wed Dec 23 14:15:58 2015] [error] [client IP] (20014)Internal error: proxy: error reading status line from remote server 127.0.0.1:8081, referer: http://VPSIP/home?op=editDatabaseLink;dlid=y2Yf1_oEJD6-Wm-T-yHy-w
[Wed Dec 23 14:15:58 2015] [error] [client IP] proxy: Error reading from remote server returned by /home, referer: http://VPSIP/home?op=editDatabaseLink;dlid=y2Yf1_oEJD6-Wm-T-yHy-w
modperl.error.log
[Wed Dec 23 14:15:59 2015] [notice] child pid 7766 exit signal Segmentation fault (11)
也许 WebGUI 正在尝试从 SQL 服务器而不是 mysql 加载 /home? (我只想连接到 SQL 服务器来获取一些产品,没有别的)
如有任何帮助,我们将不胜感激 此致
尝试:导出 LD_LIBRARY_PATH=/usr/local/lib
在您的 odbc.ini
中,您指定了 odbcinst.ini
中定义的驱动程序。
为 odbc.ini
尝试此操作:
[DSN]
Description=DNS description
Driver=FreeTDS
Server=XX.XX.XX.XX
Database=myDatabase
Port=1433 #sql server default port
TDS_Version=7.3
此外,请确保您使用正确的 TDS 版本用于您正在使用的 SQL 服务器版本和 FreeTDS 版本。我建议坚持使用 7.2,除非您需要 7.3:http://www.freetds.org/userguide/choosingtdsprotocol.htm I've got example odbc.ini
, odbcinst.ini
and freetds.conf
files in this repo, if they help: https://github.com/FlipperPA/django-python3-vagrant/tree/master/examples
祝你好运!
好的,刚刚添加
use DBD::ODBC;
添加到文件 SQL.pm 并且 WebGUI 能够识别 unixODBC(以及 FreeTDS)。
圣诞快乐!!! :D