2009-08-31 66 views
2

我遇到了一个问题,虽然我使用OpenRowSet将一个excel文件导入到sql server 2005,但它在excel文件关闭时工作正常,如果excel文件打开,它会给出错误消息。 我有一个由第三方软件一分钟更新8到10次的excel文件,我必须将这个excel文件导入sql server 2005十秒钟。导入在Sql Server中打开Excel文件

任何帮助将higly appriciated ......... 感谢,瑜珈

回答

0

你怎么知道你要导入该文件是不断更新的行?你有什么样的序列号,以便你可以检测到缺口?

如果你确实想用你喜欢的东西建议运行,那么为什么不建立一个过程来定期复制Excel电子表格文件,然后让你的OPENROWSET代码从这个副本读取。

+0

感谢您的回复。 我将删除sql表中的所有行,然后将完整的记录从excel文件导入到sql server中。 – Yogi 2009-09-01 13:01:27

0

我认为这是一个普遍的原则,一个文件不能或不应该被打开并被另一个程序写入时被访问。

如果文件的一部分是同时写入和读取的冲突如何解决?

话虽这么说,我遇到的情况在我用的是一台计算机(不Excel中,而不是Windows,甚至没有一台PC,所以它是没有什么关系的),我下载打开的文件通过FTP在哪里。

但我使用另一台几乎完全相同的计算机,这是不可能的。我不知道为什么,但在我看来是正常的情况。

复制文件和操作复制文件的想法符合pjp的说法。如果你能摆脱它......你所需要的访问频率,瑜珈,似乎会引起阅读和写作之间的冲突。

0

如果您在出现错误时仅停止导入并等待10秒直到下一次导入,那么这样做不好吗?

+0

感谢您的回复.. 我怎么会预测,这是时间的Excel文件没有被修改,以便我可以开始我的导入到SQL?我无权访问第三方工具对其进行任何更改,以便在每次更新时制作该Excel文件的副本。我将写一个Stroed proc来处理这个问题 – Yogi 2009-09-01 12:49:59