如果我通过 ODBC (2018.183.0101) 在 MS Access (2016) 中将 SQL Server 视图添加为链接表,则会将一个特定字段添加为短文本,而不是实际的
Decimal(18,4)
。
如果我添加该字段所在的源 SQL 表,它会正确显示为
Decimal(18,4)
。
根据记忆,我认为 Access 是根据前 1000 个字段的扫描来确定数据类型的,但我再也找不到任何相关内容了。
谁能解释一下这个问题?
下面是视图中的SQL:
ALTER VIEW [sgo].[cdbArticles]
AS
SELECT [ID], [Contract_nr], <left some company specific info out here>[!
, GainShare, GainShareRemark
FROM DataFactory.cdb.ContractItems
GO
好吧,用完全相同的 SQL 来改变视图似乎可以修复它。 我没有删除视图,只是更改了它。之后,访问端的简单“刷新链接”会将列的数据类型更新为数字。
也许,每次调整视图时它都会以某种方式存储/记住数据类型。但这只是猜测。