问题标签 [msdasql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
111 浏览

sql-server - SQL Server ODBC 链接服务器

我正在尝试在 SQL Server 2017 中创建链接服务器,链接系统是 odbc (criteria criOdbc)

来自 SQL Server Management Studio 的测试 1 :

我收到这个错误

将数据类型 DBTYPE_DBDATE 转换为日期时出错

来自 SQL Server Management Studio 的测试 2 :

这完美地工作

C# 中的测试 3(从 odbc 加载,然后批量插入 SQL Server):

这再次完美运行

测试 4将 MS Access 中的同一张表连接为链接表:

这也很完美

结论

  • Msdasql(提供者 OLE DB Microsoft for ODBC)不适用于日期和其他一些类型的 .net
  • System.Data.Odbc(用于 ODBC 的 .NET Framework 数据提供程序)完美运行

最后一个问题

是否可以在链接服务器中为 ODBC 使用 NET Framework 数据提供程序?(找不到任何文档)

如果没有:是否有任何类型的连接器(基于 odbc)我可以尝试在链接服务器中使用作为替代msdasql

注意 使用 case 语句转换每个日期列对我来说不是解决方案。我正在寻找全局修复。

我还需要写入这个表。

在这种情况下,我更舒服的选择是使用 c#。

感谢您的时间

0 投票
0 回答
30 浏览

mysql - 使用链接服务器将数据从 sql server 传输到 mysql

我的问题是我正在尝试将一些数据从我的 sql 服务器传输到 mysql 并返回此错误

链接服务器“SRV”的 OLE DB 提供程序“MSDASQL”返回消息“[MySQL][ODBC 8.0(a) 驱动程序]不支持可选功能”。消息 7391,级别 16,状态 2,过程 exportbds,第 10 行 [批处理开始第 2 行] 由于链接服务器“SRV”的 OLE DB 提供程序“MSDASQL”无法开始分布式事务,因此无法执行操作。

我在最后两个(连接成功)之间建立了一个链接服务器,并OPENQUERY ([MyLinkedserver], 'query')在存储过程中使用了 cmd,并在插入后由触发器调用,这样每当我将数据插入表时,它就会直接传输到 mysql。下面我将与您分享我的代码:

插入后我的触发器

我的存储过程