使用schema.ini链接csv中的主键?

使用schema.ini链接csv中的主键?,csv,schema,primary-key,linked-server,Csv,Schema,Primary Key,Linked Server,出于许多原因,我必须在sqlexpress数据库中使用链接的csv文件。 Col1总是唯一的,尽管数据会根据当前登录定期更改 是否有办法使用schema.ini或其他方式以某种方式设置为主键?您不能在schema.ini中定义主键或任何其他索引 您也不能有一个从链接服务器中大胆选择所有数据并在其上定义唯一索引的视图,因为该视图必须具有schemabinding才能启用索引,而跨数据库对象不允许这样做 唯一可能的解决方案是创建用户定义的函数,该函数使用主键将所有数据选择到表中: 创建函数dbo.c

出于许多原因,我必须在sqlexpress数据库中使用链接的csv文件。 Col1总是唯一的,尽管数据会根据当前登录定期更改


是否有办法使用schema.ini或其他方式以某种方式设置为主键?

您不能在schema.ini中定义主键或任何其他索引

您也不能有一个从链接服务器中大胆选择所有数据并在其上定义唯一索引的视图,因为该视图必须具有schemabinding才能启用索引,而跨数据库对象不允许这样做

唯一可能的解决方案是创建用户定义的函数,该函数使用主键将所有数据选择到表中:

创建函数dbo.csv_primary 返回@result table col1 int not null主键,col2 varchar255 像 开始 插入@resultcl1,col2 从CSVServer.[folder].[filecsv]中选择col1、col2; 回来 终止
多步骤表值函数显然会降低性能,但查询csv文件时会获得多少性能。

schema.ini中不能定义主键或任何其他索引

您也不能有一个从链接服务器中大胆选择所有数据并在其上定义唯一索引的视图,因为该视图必须具有schemabinding才能启用索引,而跨数据库对象不允许这样做

唯一可能的解决方案是创建用户定义的函数,该函数使用主键将所有数据选择到表中:

创建函数dbo.csv_primary 返回@result table col1 int not null主键,col2 varchar255 像 开始 插入@resultcl1,col2 从CSVServer.[folder].[filecsv]中选择col1、col2; 回来 终止 多步骤表值函数显然会降低性能,但查询csv文件时会获得多少性能