标签: odbc

如何解决此错误“错误 1298 (HY000):未知或不正确的时区:‘UTC’”?

当我运行以下命令时,出现错误,但是我的一个脚本需要它。

SET time_zone = 'UTC';
ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'
Run Code Online (Sandbox Code Playgroud)

mysql mariadb odbc errors timezone

23
推荐指数
2
解决办法
4万
查看次数

ODBC 数据源 SQL Server 连接 - 用户登录失败

我已将我的数据库从 SQL 2005 移动到使用 SQL 2008 的服务器。

我现在正在尝试创建一个 ODBC 数据源。

我正在使用“使用用户输入的登录 ID 和密码进行 SQL Server 身份验证”并输入了我的登录名和密码。登录在 SQL Server Management Studio 中的安全-> 登录下可见。

登录名还包含我旧服务器中相同登录名的确切属性。当我输入用户名和密码后点击下一步时,我得到:

Connection failed:
SQLState: '28000'
SQL Server Error: 18456
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'myUser'.
Run Code Online (Sandbox Code Playgroud)

阅读本文后:http : //support.microsoft.com/kb/555332我意识到服务器属性仅设置为“Windows 身份验证模式”,但即使更改为“SQL Server 和 Windows 身份验证模式”我仍然有连接问题。我可以连接我的 Windows 帐户。

sql-server-2005 sql-server-2008 odbc logins

14
推荐指数
1
解决办法
18万
查看次数

处理源 LOB 列时避免“逐行”获取方法

我有一个旧的 PostgreSQL 数据库源 (ODBC),我正在尝试使用 SSIS 将其迁移到新的 SQL Server 架构。我收到警告说:

强制执行“逐行”提取方法,因为该表具有 LOB 列。列内容为 LOB

问题是,没有一个列真的需要是 LOB。有一些是 TEXT 类型,但可以很容易地放在 varchar(max) 中。更奇怪的是,大多数已经varchars,但似乎 varchar(128) 上的任何内容都被视为 LOB(预先属性,数据类型为 DT_NTEXT)。

我尝试执行手动 SQL 命令,其中我在 select 语句中将每个字符串类型显式转换为适当长度的 varchar,并且它们仍然在 ODBC 源中设置为 DT_NTEXT。

我不是 DBA,所以我完全有可能在做一些非常愚蠢的事情。我只想知道确保类型最终成为 varchars 的最佳方法,以便我可以批量获取。有任何想法吗?

以防万一,我在 Visual Studio 2013 中使用 SSIS-BI 2014。

postgresql sql-server migration odbc ssis

12
推荐指数
1
解决办法
1万
查看次数

SSMS 是否使用 ODBC?

我正在运行 SSMS V18.2 并连接到 SQL 2008 - 2019 实例。

我正在研究各种多子网连接方案。我了解到 ODBC 13.1+ 包括TransparentNetworkIPResolution改变与多个子网建立连接的方式。

我的电脑上有几个不同的驱动程序。

5 个不同驱动程序的屏幕截图

我想知道这些 SSMS 中的哪个(如果有)用于直接连接到我网络中的 SQL 实例。

我查看了工具 > 选项,但没有看到任何让我可以选择更改用于连接的驱动程序的选项。

当我谷歌时,我得到了关于将 ODBC 用于链接服务器的结果。

SSMS 是否使用 ODBC 进行直接连接?

如果可以,我可以选择它使用哪一种吗?

编辑有一个评论和一个答案表明 SSMS 不使用 ODBC,根据我的持续研究,我认为它SQL Server Native Client 11.0在上面的屏幕截图中使用了。

查看在SQL Server Native Client使用连接字符串关键字,您似乎可以使用关键字连接您选择的驱动程序,Driver我仍在研究它的工作原理。

Edit2实际上看起来参见相关 驱动程序不是屏幕截图中的驱动程序之一,您也不能使用关键字driver更改驱动程序。

sql-server odbc ssms connectivity

7
推荐指数
1
解决办法
3753
查看次数

使用 openSSL 使用 ODBC 驱动程序创建到 MySQL(5.6) 的 SSL 连接

我想创建一个从 MySQL 到 ODBC 驱动程序的非对称 SSL 连接,但不完全知道如何生成密钥和证书(我在这里推荐使用 openSSL:https ://dev.mysql.com/doc/refman /5.6/en/creating-ssl-files-using-openssl.html)。

我一直在关注这篇文章以尝试创建密钥

密钥生成似乎有效,但我不知道密钥存储在何处或如何存储以与 ODBC 驱动程序一起使用。

此外,知道我在服务器主机上生成这些密钥可能会有所帮助。

mysql odbc ssl mysql-5.6

6
推荐指数
0
解决办法
633
查看次数

如何设置只读 odbc 连接?

我有一个用户需要对我管理的 SQL Server 2008 数据库进行查询。他们有权编辑数据,但我希望他们不能直接针对表格进行编辑(即,我希望他们使用为其提供的应用程序)。

我想做的是给他们一个只读 ODBC 连接,并在其上挂一个 MS Access MDB/ACCDB,让他们查询自己想要的内容,而不会意外地“更新”数据。

有没有办法做到这一点,或者我必须创建一个 RO 用户供他们使用,然后威胁他们,如果他们使用常规 RW 帐户连接,会带来很大的痛苦?在这种情况下,为什么不让他们在应用程序之外编辑数据时承受很大的痛苦呢?

sql-server-2008 windows odbc

5
推荐指数
1
解决办法
8608
查看次数

SQL Server ODBC 镜像/故障转移伙伴

背景/上下文

我们正在将我们的 SQL Server 2000 数据库移动到具有见证和自动故障转移的镜像 SQL Server 2008 R2 服务器。我们在这些数据库上运行了 .Net 和 Access 应用程序,并且正在测试服务器故障转移事件上的客户端重定向。

在我向连接字符串添加“故障转移伙伴”后,.Net 应用程序正确响应。在故障转移时,应用程序将在下一个数据库请求中失败,然后在我们重新启动应用程序时移动到镜像服务器。

对于通过 ODBC 的 Access 应用程序,我们尝试使用 SQL Server Native Client 10.0 驱动程序(看起来标准驱动程序不支持镜像?)并在设置中提供镜像服务器。

ODBC 镜像屏幕

我在这里指定了数据库和故障转移服务器名称。在故障转移事件中,即使在应用程序重新启动后,Access 应用程序似乎也不会重定向到镜像服务器。我还应该在这里做些什么来强制 ODBC 切换到镜像服务器,还是我没有正确指定镜像服务器名称?

ms-access sql-server odbc mirroring failover

5
推荐指数
1
解决办法
3165
查看次数

Access 2010 链接表——解决“十进制字段的精度”错误

我有一个 Access 2003 数据库(在 Win 7 64 位上运行,Office 也是 64 位),其中有许多链接表通过64 位 Oracle ODBC 驱动程序指向 Oracle 11g 实例。大多数表格都可以正常工作,但其中一些表格一直向我抛出这个错误:“小数字段的精度太小,无法接受您尝试添加的数字”

到目前为止,我有:

  • 在网上广泛浏览了一个解决方案,但没有一个适用于我的情况(我的 ODBC 驱动程序没有“强制双重”参数,我发现的其他建议根本不相关)
  • 检查 Access 是否为数字字段设置了正确的精度和小数位数(例如,oracle 中的 NUMBER(20,10) 映射到数字数据类型、精度为 20 的十进制字段大小和 Access 中的小数位数)。对于产生错误的字段来说也是如此。
  • 得出的结论是,如果记录至少有 1 个有问题的字段,则该记录中的所有其他字段也会在数据表视图中显示“#Error”。如果我将有问题的字段设置为空,记录将正常显示。
  • 认为在我的情况下,问题与 WGS 坐标类型为 NUMBER(20,10) 或 NUMBER(8,6) 的字段有关(可能还有其他高比例数字字段,不确定)
  • 发现如果我将 Oracle 中的一个有问题的字段舍入到该字段的原始比例,Access 就会停止抱怨。例如:在 Oracle 视图中,NUMBER(20,10) field_name 变为 round(field_name, 10),这让 Access 感到高兴。

我不能在表上使用舍入解决方法,而且我没有太多的自由来改变 Oracle 数据库,因为它是一个非常大而复杂的系统的一部分。

我是 MS Access 方面的新手,对其他尝试没有想法(除了烧掉我的电脑并成为一名 Jogi 以遏制我的绝望)。

请,请帮助,善良的数据库社区!

oracle ms-access odbc

5
推荐指数
1
解决办法
9037
查看次数

如何在 Linux 上通过 ODBC 配置从 Sybase IQ 访问 Sybase Anywhere 的连接

我正在尝试通过 ODBC 驱动程序从 IQ16 访问 ASA16 服务器。两台服务器都安装在同一个 Linux 机器上。

我已经安装unixodbc-bin并添加了一个文件 .odbc.init 到运行数据库的用户的家中:

[mes_input]
Driver=/opt/sqlanywhere16/lib64/libdbodbc16_r.so
uid=dba
pwd=SQL
EngineName=mes_input
CommLinks=tcpip(host=127.0.0.1;port=49152)
AutoStop=no
DatabaseName=mes_input
Run Code Online (Sandbox Code Playgroud)

ASA 在那个盒子上的 49152 上运行;IQ 运行默认值 2638。

另外,我在接口文件锁定中添加了一个条目,如下所示:

mes_input
        master tcp ether myserver 49152
        query tcp ether myserver 49152
Run Code Online (Sandbox Code Playgroud)

回到 IQ,我可以通过 Sybase Central 添加远程服务器以及此框中的表。还测试连接并显示没有错误。

但是当我现在尝试通过例如从 ASA 复制一些数据时

INSERT locale_table LOCATION 'mes_input.mes_input' 'SELECT * FROM table'
Run Code Online (Sandbox Code Playgroud)

我越来越:

Connectivity libraries cannot be found (check your dynamic library
search path).  Selects from attached databases are not possible without
these libraries.  
-- (hqmlib/hqm_cpm.cxx …
Run Code Online (Sandbox Code Playgroud)

sybase odbc sybase-sql-anywhere sybaseiq

5
推荐指数
1
解决办法
2087
查看次数

SQL 连接字符串中 } 和 ' 的密码字符问题

我正在使用 ODBC 驱动程序 17 连接到 MSSQL 服务器。为了避免 SQL 注入的可能性,请在 {} 中包含密码。现在,如果我提供像 }qwerty1234 这样的密码,我将面临问题。即以 } 开头的密码将给出无效的连接字符串错误。有人可以提出同样的解决方案吗?

另外,在密码中使用 ' (单引号)是否存在任何已知问题?

sql-server odbc password

5
推荐指数
2
解决办法
4759
查看次数