我们正与一家客户合作,该客户在我们无法直接访问的服务器上运行未知复古的SQL Server。我们唯一的链接是通过每个客户端计算机上相同的DSN名称,但我们不知道该DSN的详细信息。我提到这个是因为我认为存在驱动程序问题,我无法告诉你它是什么驱动程序。
我们正在使用VBA进行一些基本的SQL报告。问题是,当我们从具有名为“description”的列的表中获取数据时,任何在select语句中检索数据的尝试都将导致RecordSet返回空值,即使字段中有数据也是如此。例如......
SELECT description, one, two, three FROM tNasty
会导致......
DS!description
打印预期值,但是......
DS!one
将返回null(以及两个和三个)。现在,如果我们所做的只是重新安排字段......
SELECT one, two, three, description FROM tNasty
然后所有的值都可以正常工作!
我将数据复制到我自己机器的Express实例,并使用连接字符串而不是DSN连接到它。无论订单是什么,它都能正常工作。这似乎暗示它是DSN中的东西。
以前有人见过这样的事吗?或者有关于如何在不通过GUI看到它们的情况下弄清楚这些DSN设置的建议?