经过大约 3 天的尝试,我无法创建从 SQL Server 2016 到 Informix 11.5 的链接服务器。我没有在其他版本(2008R2 等)上尝试过这个,因为我想先在测试环境中设置连接。
我做了什么
1) 将 IBM Informix指令与 OLE DB 提供程序一起使用,在其中我收到以下错误(无论我是否在提供程序字符串中使用 DNS):
无法为链接服务器“UCCX”初始化 OLE DB 提供程序“Ifxoledbc”的数据源对象。链接服务器“UCCX”的 OLE DB 提供程序“Ifxoledbc”返回消息“EIX000: (-23197)”数据库区域设置信息不匹配”(Microsoft SQL Server,错误:7303)
DB Locale 是 en_US.57372
2)如本博客所述,使用 Microsoft OLE DB Provider for SQL Server返回错误:
命名管道提供程序:无法打开与 SQL Server 的连接。链接服务器 UCCX 的 OLE DB 提供程序 SQLNCLI11 返回消息“登录超时已过期” 链接服务器 UCCX …
第 1 步:我在 sys.messages 中创建了自定义错误消息
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file.' ,
@lang = 'us_english',
@replace='REPLACE';
Run Code Online (Sandbox Code Playgroud)
第 2 步:在满足条件时在 Job 内部引发错误
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
Run Code Online (Sandbox Code Playgroud)
我想在错误消息中看到 FreespacePCt、数据库名称和驱动器详细信息。
但是当我查看引发的错误时,我只看到了我在sp_addmessage. 如何记录其他详细信息?
我看到的消息:
错误 50001,严重性 10,状态 1 已引发,请检查 mdf 文件。