我有一个从CSV文件导入数据到本地SQL Express数据库的过程,然后我可以使用SQL Server 2012迁移工具将数据库迁移到SQL Azure(如http://bit.ly/WRPSZs中所述 )。 这对移动数据库非常有用。
但是,当数据发生变化,我只是想简化数据库,这有点痛苦。 我试图改变我的脚本,只是连接到SQL Azure数据库,但遇到了SQL Azure显然不支持BCP的问题:
Msg 40526, Level 16, State 1, Server Xxxxxx, Line 37 'BULK' rowset provider not supported in this version of SQL Server.
所以我回到导入到SQL Express,然后删除数据库,从SQL Express中导出,然后去重新创build数据库用户和angular色。
任何人有更好的方法?
根据Azure文档,您应该能够使用BCP命令导入数据。 请参阅: BCP和SQL Azure
为了确认它在工作,我也去testing了一下。 对于我的testing,我从csv文件中插入了10行数据,名为import.txt 。 我用-t,语法来指定它是逗号分隔的。
以下是我使用的命令的(redacted)语法:
bcp database_name.schema.table in C:\import.txt -c -U username@servername -S servername.database.windows.net -P password -t,
从这里我可以看到以下结果
Starting copy... 10 rows copied. Network packet size (bytes): 4096 Clock Time (ms.) Total : 390 Average : (25.64 rows per sec.)
我已经看到了一些插入大量数据的情况,导致导入失败,但这可能是一个不同于你所看到的错误。