我目前正在尝试从SQL Server数据库视图中提取一些数据,这些数据是我们从Linux Web服务器限制访问的.
我们无需编辑数据,只需将其显示在网页中即可.
在我们尝试输出并且只获取文本字段的前255个字符之前,这一切看起来都很好.
有谁知道这是通过PHP :: PDO使用FreeTDS是否有问题,或者它是否应该正常工作?我见过其他人有类似的问题,但似乎没有很多答案.
我正在使用它作为MS SQL db的连接字符串:
$dbConn = new PDO("odbc:Driver=FreeTDS;DSN=OURDSN;UID=WWWUser;PWD=ourpassword");
Run Code Online (Sandbox Code Playgroud) 我正在尝试连接到我的主机上的数据库(windows xp,sql server 05).我的客户机是Ubuntu 10.04.我可以使用tsql连接和执行命令,但是isql失败.以下是我的配置文件和错误消息.
freetds.conf
text size = 64512
[SQLEXPRESS]
host = 192.168.163.1
port = 1433
tds version = 7.0
Run Code Online (Sandbox Code Playgroud)
ODBCINST.INI
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
Run Code Online (Sandbox Code Playgroud)
ODBC.INI
[SQLEXPRESS]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = 192.168.163.1
Database = SCOPE_Peel
Port = 1433
UID = sa
PWD = test1234
ReadOnly = No
Run Code Online (Sandbox Code Playgroud)
TSQL:
tsql -S SQLEXPRESS -U sa …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从Ubuntu 12.04连接到SQL-Azure.
我用openssl和libiconf编译了freeTds-0.91
tsql -H XXXXXXXX.database.windows.net -U Username -D DatabaseName -p 1433 -P Password
Run Code Online (Sandbox Code Playgroud)
我尝试使用上面的语句连接,我收到此错误:
locale is "en_ZA.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Default database being set to DatabaseName
Error 20004 (severity 9):
Read from the server failed
OS error 104, "Connection reset by peer"
Error 20002 (severity 9):
Adaptive Server connection failed
There was a problem connecting to the server
Run Code Online (Sandbox Code Playgroud)
我的tsql -C输出:
Compile-time settings (established with the "configure" script)
Version: freetds v0.91
freetds.conf directory: /usr/local/etc
MS …
Run Code Online (Sandbox Code Playgroud) 我可以通过Mint Linux VM使用freeTSD和命令行连接到Microsoft SQL Server 2008实例,以在其上执行sql语句.现在我想在bash脚本中自动执行此操作.我能够成功登录我的bash脚本:
TDSVER=8.0 tsql -H servername -p 1433 -D dbadmin -U domain\\Administrator -P password
Run Code Online (Sandbox Code Playgroud)
然后我有我的SQL查询:
USE dbname GO delete from schema.tableA where ID > 5 GO delete from schema.tableB where ID > 5 GO delete from schema.tableC where ID > 5 GO exit
Run Code Online (Sandbox Code Playgroud)
这通过freeTSD命令行手动执行时有效,但是当我放入bash文件时则不行.我关注这篇文章:freeTSD&bash.
这是我的bash脚本示例:
echo "USE dbname GO delete from schema.tableA where userid > 5 go delete from schema.tableB where userid > 5 go delete from schema.tableC where ID > 5 GO exit" …
Run Code Online (Sandbox Code Playgroud) 我目前正在设置从Linux机箱到Microsoft SQL服务器的连接.我在Linux机器上安装了FreeTDS和pyodbc.
我已经设置了以下文件:/etc/freetds/freetds.conf
[sqlserver]
host = <ip address>
port = 1433
tds version = 8.0
client charset = UTF-8
Run Code Online (Sandbox Code Playgroud)
〜/ .odbc.ini的
[sqlserver]
Description = FreeTDS MSSQL
Driver = FreeTDS
Servername = <same ip as above>
Database = Reports
TDS_Version = 8.0
Run Code Online (Sandbox Code Playgroud)
/etc/odbcinst.ini
[FreeTDS]
Description = FreeTDS MSSQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Driver64 = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
Setup64 = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount = 1
CPTimeout =
CPTimeToLive =
DisableGetFunctions =
DontDLCLose =
ExFetchMapping =
Threading =
FakeUnicode =
IconvEncoding =
Trace = …
Run Code Online (Sandbox Code Playgroud) 我想使用 Docker for Windows 在我的公司网络上托管 Shiny 应用程序。
如何设置 Docker、odbc.ini、odbcinst.ini、freetds.conf 或其他可能的文件,以便我的 Shiny 应用程序可以从内部 Microsoft SQL Server (2016) 数据库查询数据?数据库服务器不在运行 Docker 容器的同一台机器上运行。
我不知道我是否需要更新版本的 FreeTDS 或者我是否错误配置了其中一个文件。我尝试将 IP 地址用于服务器而不是sql-server.host.com
在所有文件中,但在下面收到相同的错误消息。
$tsql -C
输出:
Compile-time settings (established with the "configure" script)
Version: freetds v1.00.104
freetds.conf directory: /etc/freetds
MS db-lib source compatibility: no
Sybase binary compatibility: yes
Thread safety: yes
iconv library: yes
TDS version: 4.2
iODBC: no
unixodbc: yes
SSPI "trusted" logins: no
Kerberos: yes
OpenSSL: no
GnuTLS: yes
MARS: no
Run Code Online (Sandbox Code Playgroud)
$odbcinst -j …
使用更新的软件将应用程序移动到新服务器后(从php 5.2.17 - > 5.3.15移动,FreeTDS 0.64 - > 0.82)
SELECT GETDATE()
Run Code Online (Sandbox Code Playgroud)
和任何其他日期时间函数/列产生类似于:
2012-06-219 51:527:
// proper time: 2012-08-06 09:33:02
Run Code Online (Sandbox Code Playgroud)
我知道我可以convert
在select 中使用,但是在DB中有许多存储过程我无法更改.
我试图改变/etc/locales.conf
和设置date format = %Y-%m-%d %H:%M:%S
,并使用ini_set('mssql.datetimeconvert',1);
但freetds似乎忽略它并返回Aug 06 2012 09:33AM
有没有办法以标准格式检索日期时间列,而无需修改每个查询?
我必须使用我的Rails 4.2.3中的"Tiny TDS"宝石,当然还有Heroku的cedar-14,我不能,因为FreeTDS已不再使用了.
如何在Heroku cedar-14上使用FreeTDS?
我正在网上看,我发现了这个:
https://github.com/foraker/heroku-buildpack-freetds
他说使用"heroku-buildpack-multi",这个:https://github.com/ddollar/heroku-buildpack-multi
但我不明白怎么做!
我必须在我的本地电脑上创建".buildpacks"文件?
然后我必须"git push heroku master"?
这个程序今天仍然有效吗?
或者我必须使用它:https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app
请帮帮我,谢谢.
更新:
我发现如何使用以下方法在Heroku上安装FreeTDS:
https://github.com/eltiare/heroku-buildpack-freetds
Run Code Online (Sandbox Code Playgroud)
有了这个:
https://github.com/ddollar/heroku-buildpack-multi
Run Code Online (Sandbox Code Playgroud)
用这个.buildpacks:
https://github.com/eltiare/heroku-buildpack-freetds.git#master
https://github.com/heroku/heroku-buildpack-ruby.git#master
Run Code Online (Sandbox Code Playgroud)
但是现在,在部署之后,我收到了一个错误:
/app/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require': libsybdb.so.5: cannot open shared object file: No such file or directory - /app/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0-static/tiny_tds-0.6.2/tiny_tds/tiny_tds.so (LoadError)
Run Code Online (Sandbox Code Playgroud)
和应用程序崩溃.
怎么修?
这些是日志:
部署:
Deleting 2 files matching .slugignore patterns.
Fetching custom git buildpack... done
Multipack app detected
Downloading Buildpack: https://github.com/eltiare/heroku-buildpack-freetds.git
=====> Detected Framework: FreeTDS
Installing freetds into /tmp/build_5e53a70f18da19be7f6defafbfad826b/vendor/freetds
% Total …
Run Code Online (Sandbox Code Playgroud) 我有两台CentOS 6.7机器(服务器A和B).每个系统上都安装了相同的软件包版本.
上周我在服务器A上启用了openSSH FIPS 140-2模块,该系统完美运行(包括对SQL Server实例的tsql查询).
今天我在服务器B上执行了相同的步骤(在上面的链接中).重新启动后,fips显示已启用并已测试正常 - 但tsql
(对于同一SQL Server实例)已停止使用以下错误:
[serverB ~]# tsql -S egServer80 -U myusername
Password:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20002 (severity 9):
Adaptive Server connection failed
There was a problem connecting to the server
Run Code Online (Sandbox Code Playgroud)
我查看日志文件并找到:
tsql: Libgcrypt warning: MD5 used - FIPS mode inactivated
Run Code Online (Sandbox Code Playgroud)
在freetds中启用调试会产生以下额外错误:
14:56:46.617196 3577 (net.c:1366):'''handshake failed: GnuTLS internal error.
Run Code Online (Sandbox Code Playgroud)
退出FIPS模块(从grub.conf中删除fips = 1)并重新启动设置回来,我又能够tsql
进入我的SQL Server实例.
两个CentOS机器都使用相同的libgcrypt版本(1.4.5).
为什么(或如何)在grub中启用FIPS导致libgcrypt
在这台机器上失败? 显然,机器之间的某些配置是关闭的,但我无法发现它,并且已经耗尽了资源以找到下一步的位置.
注意#1:
我可以 …
我正在尝试安装pymssql
pip install pymssql
Run Code Online (Sandbox Code Playgroud)
我有Windows 7和python 3.5(来自anaconda)但我得到了
Failed building wheel for pymssql
Run Code Online (Sandbox Code Playgroud)
我相信它与freetds
和python-dev
.有关.我如何在Windows上安装这些?
我需要安装哪些包?这个pip安装适用于python 2.7.如果点不起作用,还有其他方法可以下载并安装pymssql吗?