当我运行以下命令时,出现错误,但是我的一个脚本需要它。
SET time_zone = 'UTC';
ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'
Run Code Online (Sandbox Code Playgroud) 我已将我的数据库从 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 帐户。
我有一个旧的 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。
我正在运行 SSMS V18.2 并连接到 SQL 2008 - 2019 实例。
我正在研究各种多子网连接方案。我了解到 ODBC 13.1+ 包括TransparentNetworkIPResolution
改变与多个子网建立连接的方式。
我的电脑上有几个不同的驱动程序。
我想知道这些 SSMS 中的哪个(如果有)用于直接连接到我网络中的 SQL 实例。
我查看了工具 > 选项,但没有看到任何让我可以选择更改用于连接的驱动程序的选项。
当我谷歌时,我得到了关于将 ODBC 用于链接服务器的结果。
SSMS 是否使用 ODBC 进行直接连接?
如果可以,我可以选择它使用哪一种吗?
编辑有一个评论和一个答案表明 SSMS 不使用 ODBC,根据我的持续研究,我认为它SQL Server Native Client 11.0
在上面的屏幕截图中使用了。
查看在SQL Server Native Client中使用连接字符串关键字,您似乎可以使用关键字连接您选择的驱动程序,Driver
我仍在研究它的工作原理。
Edit2实际上看起来(参见相关)
驱动程序不是屏幕截图中的驱动程序之一,您也不能使用关键字driver
更改驱动程序。
我想创建一个从 MySQL 到 ODBC 驱动程序的非对称 SSL 连接,但不完全知道如何生成密钥和证书(我在这里推荐使用 openSSL:https ://dev.mysql.com/doc/refman /5.6/en/creating-ssl-files-using-openssl.html)。
我一直在关注这篇文章以尝试创建密钥
密钥生成似乎有效,但我不知道密钥存储在何处或如何存储以与 ODBC 驱动程序一起使用。
此外,知道我在服务器主机上生成这些密钥可能会有所帮助。
我有一个用户需要对我管理的 SQL Server 2008 数据库进行查询。他们有权编辑数据,但我希望他们不能直接针对表格进行编辑(即,我希望他们使用为其提供的应用程序)。
我想做的是给他们一个只读 ODBC 连接,并在其上挂一个 MS Access MDB/ACCDB,让他们查询自己想要的内容,而不会意外地“更新”数据。
有没有办法做到这一点,或者我必须创建一个 RO 用户供他们使用,然后威胁他们,如果他们使用常规 RW 帐户连接,会带来很大的痛苦?在这种情况下,为什么不让他们在应用程序之外编辑数据时承受很大的痛苦呢?
背景/上下文
我们正在将我们的 SQL Server 2000 数据库移动到具有见证和自动故障转移的镜像 SQL Server 2008 R2 服务器。我们在这些数据库上运行了 .Net 和 Access 应用程序,并且正在测试服务器故障转移事件上的客户端重定向。
在我向连接字符串添加“故障转移伙伴”后,.Net 应用程序正确响应。在故障转移时,应用程序将在下一个数据库请求中失败,然后在我们重新启动应用程序时移动到镜像服务器。
题
对于通过 ODBC 的 Access 应用程序,我们尝试使用 SQL Server Native Client 10.0 驱动程序(看起来标准驱动程序不支持镜像?)并在设置中提供镜像服务器。
我在这里指定了数据库和故障转移服务器名称。在故障转移事件中,即使在应用程序重新启动后,Access 应用程序似乎也不会重定向到镜像服务器。我还应该在这里做些什么来强制 ODBC 切换到镜像服务器,还是我没有正确指定镜像服务器名称?
我有一个 Access 2003 数据库(在 Win 7 64 位上运行,Office 也是 64 位),其中有许多链接表通过64 位 Oracle ODBC 驱动程序指向 Oracle 11g 实例。大多数表格都可以正常工作,但其中一些表格一直向我抛出这个错误:“小数字段的精度太小,无法接受您尝试添加的数字”
到目前为止,我有:
我不能在表上使用舍入解决方法,而且我没有太多的自由来改变 Oracle 数据库,因为它是一个非常大而复杂的系统的一部分。
我是 MS Access 方面的新手,对其他尝试没有想法(除了烧掉我的电脑并成为一名 Jogi 以遏制我的绝望)。
请,请帮助,善良的数据库社区!
我正在尝试通过 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) 我正在使用 ODBC 驱动程序 17 连接到 MSSQL 服务器。为了避免 SQL 注入的可能性,请在 {} 中包含密码。现在,如果我提供像 }qwerty1234 这样的密码,我将面临问题。即以 } 开头的密码将给出无效的连接字符串错误。有人可以提出同样的解决方案吗?
另外,在密码中使用 ' (单引号)是否存在任何已知问题?