以某种方式使用 schema.ini 链接的 csv 中的主键?
由于多种原因,我必须在 sqlexpress 数据库中使用链接的 csv 文件。 尽管数据会根据当前登录情况定期更改,但 Col1 始终是唯一的。
有没有办法使用 schema.ini 或其他方式以某种方式设置为主键?
For a number of reasons I have to use a linked csv file in a sqlexpress database.
Col1 is always unique, although the data changes periodically, based on current logins.
Is there a way to set as a primary key in some manner using the schema.ini or some other way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能在 schema.ini 中定义主键或任何其他索引。
您也不能拥有一个大胆地从链接服务器中选择所有数据并在其上定义唯一索引的视图,因为该视图必须
具有架构绑定
才能启用索引,而这不允许交叉数据库对象。唯一可能的解决方案似乎创建一个用户定义的函数来选择将所有数据放入带有主键的表中:
多步表值函数显然会降低性能,但是查询 csv 文件时会获得多少性能。
You can't have a primary key or any other index defined in schema.ini.
You also can't have a view that boldly selects all data from the linked server and defines a unique index on it, because the view must be
with schemabinding
to enable indices, and that's not allowed for cross-database objects.The only possible solution seems to be creating a user-defined function that selects all data into a table with a primary key:
A multi-step table-valued function will obviously kill performance, but then, how much performance do you get when querying a csv file.