- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 Linux 建立与 SQL 服务器实例的连接。我的 FreeTDS 设置似乎可以工作,但我的 unixODBC 设置不起作用。
这是我使用 tsql 访问数据库时发生的情况:
tsql -S STCONNSQLDEV\\RscSwitchboard -U sa_RSCSWITCHBOARD -P password
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
这是我使用 isql 时发生的情况:
isql RscSwitchboard sa_RSCSWITCHBOARD password -v
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[37000][unixODBC][FreeTDS][SQL Server]Login failed for user 'sa_RSCSWITCHBOARD'.
[ISQL]ERROR: Could not SQLConnect
我的/etc/freetds/freetds.conf:
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
; tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0
# A typical Microsoft server
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0
[STCONNSQLDEV\\RscSwitchboard]
host = 192.168.15.12
port = 1433
tds version = 8.0
client charset = UTF-8
我的/etc/odbc.ini:
[RscSwitchboard]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = Yes
TraceFile = /tmp/rscswitchboard
servername = STCONNSQLDEV\\RscSwitchboard
Database = RscSwitchboard
Port = 1433
我的/etc/odbcinst.ini:
[FreeTDS]
Description = tdsodbc
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
[ODBC]
DEBUG=1
Trace = Yes
TraceFile = /tmp/rscswitchboard
我的跟踪文件:
[ODBC][5002][1406656337.564089][__handles.c][450]
Exit:[SQL_SUCCESS]
Environment = 0x14b4750
[ODBC][5002][1406656337.564197][SQLAllocHandle.c][364]
Entry:
Handle Type = 2
Input Handle = 0x14b4750
[ODBC][5002][1406656337.564254][SQLAllocHandle.c][482]
Exit:[SQL_SUCCESS]
Output Handle = 0x14b5080
[ODBC][5002][1406656337.564321][SQLConnect.c][3615]
Entry:
Connection = 0x14b5080
Server Name = [RscSwitchboard][length = 14 (SQL_NTS)]
User Name = [sa_RSCSWITCHBOARD][length = 17 (SQL_NTS)]
Authentication = [********][length = 8 (SQL_NTS)]
UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE 'UCS-2LE'
DIAG [42000] [FreeTDS][SQL Server]Login failed for user 'sa_RSCSWITCHBOARD'.
DIAG [S1000] [FreeTDS][SQL Server]Unable to connect to data source
[ODBC][5002][1406656337.828774][SQLConnect.c][3983]
Exit:[SQL_ERROR]
[ODBC][5002][1406656337.828841][SQLError.c][430]
Entry:
Connection = 0x14b5080
SQLState = 0x7fff8cbb4b10
Native = 0x7fff8cbb4b0c
Message Text = 0x7fff8cbb4b20
Buffer Length = 500
Text Len Ptr = 0x7fff8cbb4b0a
[ODBC][5002][1406656337.828912][SQLError.c][467]
Exit:[SQL_SUCCESS]
SQLState = S1000
Native = 0x7fff8cbb4b0c -> 0
Message Text = [[unixODBC][FreeTDS][SQL Server]Unable to connect to data source]
[ODBC][5002][1406656337.829032][SQLError.c][430]
Entry:
Connection = 0x14b5080
SQLState = 0x7fff8cbb4b10
Native = 0x7fff8cbb4b0c
Message Text = 0x7fff8cbb4b20
Buffer Length = 500
Text Len Ptr = 0x7fff8cbb4b0a
[ODBC][5002][1406656337.829098][SQLError.c][467]
Exit:[SQL_SUCCESS]
SQLState = 37000
Native = 0x7fff8cbb4b0c -> 18456
Message Text = [[unixODBC][FreeTDS][SQL Server]Login failed for user 'sa_RSCSWITCHBOARD'.]
[ODBC][5002][1406656337.829179][SQLError.c][430]
Entry:
Connection = 0x14b5080
SQLState = 0x7fff8cbb4b10
Native = 0x7fff8cbb4b0c
Message Text = 0x7fff8cbb4b20
Buffer Length = 500
Text Len Ptr = 0x7fff8cbb4b0a
[ODBC][5002][1406656337.829234][SQLError.c][467]
Exit:[SQL_NO_DATA]
[ODBC][5002][1406656337.829284][SQLError.c][510]
Entry:
Environment = 0x14b4750
SQLState = 0x7fff8cbb4b10
Native = 0x7fff8cbb4b0c
Message Text = 0x7fff8cbb4b20
Buffer Length = 500
Text Len Ptr = 0x7fff8cbb4b0a
[ODBC][5002][1406656337.829332][SQLError.c][547]
Exit:[SQL_NO_DATA]
[ODBC][5002][1406656337.829423][SQLFreeHandle.c][279]
Entry:
Handle Type = 2
Input Handle = 0x14b5080
[ODBC][5002][1406656337.829477][SQLFreeHandle.c][330]
Exit:[SQL_SUCCESS]
[ODBC][5002][1406656337.829540][SQLFreeHandle.c][212]
Entry:
Handle Type = 1
Input Handle = 0x14b4750
我使用的是 Ubuntu 14.04 x86_64。有人有什么建议吗?
最佳答案
我会尝试以下方法:
== freetds.conf
[global]
charset = UTF-8
client charset = UTF-8
timeout = 10
connect timeout = 10
[server_a]
host = 192.168.15.12
port = 1433
==/etc/odbc.ini
[config_a]
Driver = FreeTDS
Servername = server_a
Database = RscSwitchboard
Port = 1433
$ isql -v config_a sa_RSCSSWITCHBOARD 密码
如果这不能解决问题,那么试试
tds version = 7.3
关于sql-server - 连接到 Linux 上的 SQL Server : tsql works; isql cannot log in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25021978/
CREATE TABLE [dbo].[tblLocations]( [latitude] [float] NOT NULL, [longitude] [float] NOT NULL
有没有办法在相似的表中递归读取记录并按深度级别排序? #table: id int | parent int | value string --------------------
尝试从旧数据库迁移到存储数据的新数据库有点不同。 在一种特定情况下,我有一列用分号分隔的值,我想将其分隔成多行。 这是一个例子: SELECT p.idperson, p.rolepe
我用谷歌搜索并查看了 MSDN TSQL 引用,但无法找到“ .. ”的含义或作用的定义或解释。 示例 if OBJECT_ID('tempdb..#temp') is not null drop t
我需要以下内容: 检查 Public 或 guest 是否被授予对对象(数据库角色和服务器角色)的任何权限 检查是否有任何用户被授予对对象而非角色的权限。 检查用户是否对对象 拥有 with gran
DECLARE @query as varchar(200); SET @query = 'SELECT COUNT(*) FROM table'; 如何执行@query,此外,在分配变量时是否可以直
我正在编写报告,并希望获取年龄列的平均值。问题在于,并非所有行都具有年龄。 如果该列的值为0 2 4,我希望返回3,而不是2。我不能简单地使用WHERE排除零行,因为我正在使用那些行中的其他列。是否存
我尝试在 tsql 中左修剪换行符。所以我想删除领先的 字符(13) + 字符(10) 我在一个字段中的数据。并确保不会删除其他换行符。 我的意思是: ' Kanne Oliver Rosa-Luxe
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How to execute mathematical expression stored in a var
我认为最好以简单示例的形式提出这个问题。以下 SQL 块会导致“DB-Library Error:20049 Severity:4 Message:Data-conversion导致溢出”消息,但怎么
我们的一位用户在开发服务器中执行了插入语句。插入工作正常。但是在生产服务器执行同样的insert语句时,却遇到了如下错误: Error:.Net SqlClient Data Provider Err
我如何编写 TSQL 来计算以下内容: 当前日期和午夜,例如 2010-12-01 00:00:00.000 当前日期和下午 6 点,例如 2010-12-01 18:00:00.000 谢谢.. 最
我最近有一个关于在 TSQL 中使用游标的争论...... 首先,我不是辩论中的啦啦队长。但是每次有人说 cursor 时,总会有一些笨蛋(或 50 个)用强制性的“光标是邪恶的”咒语来猛扑。我知道
是否可以在不显式定义列的情况下在 sql 中声明变量? 类似 declare @tab as select * from myTable 最佳答案 你可以选择一个临时表......看起来它会做你想要的
我们遇到的问题简化为以下两个语句: select convert(float, (convert(float,5741.61)/convert(float, 196.00)) * convert(fl
我有一个 ADO.NET/TSQL 性能问题。我们的应用程序中有两个选项: 1) 一个具有多个结果集的大型数据库调用,然后在代码中逐步遍历每个结果集并填充我的对象。这会导致一次到数据库的往返。 2)
问题背景 生成和访问固定列布局的数据很容易。您可以预先创建本地临时表,并通过调用存储过程来填充它们。 另一方面,如果要生成具有动态列布局的数据,通常必须动态构建 SQL 语句并使用“exec sp_e
我有一个SQL Server 2005查询,该查询生成较大的结果集(最大为数GB): SELECT * FROM Product FOR XML PATH('Product') 运行查询将生成包含包含
我使用此代码在 sql server 中读取 .mp3 文件字节。当我使用本地连接时,它工作正常。但是,当我更改与服务器的连接(例如: 192.168.1.1 和 windows 身份验证模式 )并运
这不会在 ColdFusion 11 中崩溃,但会在 ColdFusion 2016 中崩溃 SELECT * FROM dbo.Roles WITH (NOLOCK) WHERE Cod
我是一名优秀的程序员,十分优秀!