1

我有一个用 ASP 构建的 Web 应用程序,最初托管在我自己的本地服务器上 - Win 2008、IIS 7.0、SQL Server 2008。

然后,我为网站 + 数据库购买了一个 discountASP.Net 托管帐户。

Web 应用程序从网站根目录下的文件夹中获取一个文件,然后批量插入到数据库中的记录中。在本地开发盒上一切正常。

当数据库+网站移至 DiscountASP.Net 托管帐户时,BULK INSERT 不起作用,DiscountASP.Net 告诉我们不允许 BULK INSERT,因为托管数据库服务器是共享服务器。

这种情况的解决方法是什么?他们表示我们可以使用单独的 INSERT。

有没有更好的解决方案?是否有人遇到过类似的问题并有一些我们可以重复使用的解决方案?(而不是重新发明轮子)。

感谢您查找我的问题。

4

2 回答 2

0

您必须使用 .net 中的 SQLBulkCopy 或发送 XML 以在 SQL 代码中进行解析

于 2011-12-09T13:21:56.047 回答
0

经过一番尝试,我自己得到了解决方案。以下是解决方案步骤(由于客户机密,我不能分享代码):

  1. 我使用 Scripting.FileSystemObject 服务器对象从 ASP 代码中读取 Web 服务器上文件中的所有文本。

  2. 我将文件的整个文本作为变量传递给存储过程(SQL Server 2008)。参数的数据类型必须是“adLongVarChar”请参阅此处的数据类型表(如果无法识别枚举,如我的情况,我使用值 201 而不是枚举)。

  3. 在存储过程中编写 SQL 代码将字符串解析为行,然后进一步将每一行解析为列值。

希望我的解决方案的伪代码对某人有所帮助。

于 2011-12-22T10:49:45.713 回答