我需要构建一些功能,允许用户选择.csv文件并通过天蓝色的Web应用程序将其上传(数据)到我的数据库。由于没有可用的文件系统,我如何将.csv数据放入sql服务器数据库中的blob中?那里有任何例子吗?从.csv文件导入到azure数据库的功能
回答
由于theres没有可用的文件系统,我如何获取.csv数据到我的sql服务器数据库的blob?
如果我理解正确的话,你可以在上传CSV文件到一个临时文件夹保存在您的网页内容,或使用File System from Azure Web App(例如d:\home
或d:\local
)临时存储csv文件。然后你可以利用SqlBulkCopy和这个CSV Reader库来一个简单的方法将csv数据导入到sql表中。这里是代码片段,你可以参考一下吧:
string connectionString = "Data Source=tcp:{server-name}.database.windows.net,1433;Initial Catalog={db-name};User ID={user-name};Password={pwd}";
string filename = "{the-path-of-your-csv-file-in-webapp}";
using (var conn = new SqlConnection(connectionString))
{
conn.Open();
var transaction = conn.BeginTransaction();
try
{
using (StreamReader file = new StreamReader(filename))
{
CsvReader csv = new CsvReader(file, true, ',');
SqlBulkCopy copy = new SqlBulkCopy(conn, SqlBulkCopyOptions.KeepIdentity, transaction);
copy.DestinationTableName = "TableForBulkData";
copy.WriteToServer(csv);
transaction.Commit();
}
}
catch (Exception ex)
{
transaction.Rollback();
}
}
结果
UPDATE
由于Azure Web App sandbox提及文件系统限制/注意事项:
每个Azure Web应用程序都有一个由Azure存储存储/支持的主目录。这个网络共享是应用程序存储其内容的地方。该目录可用于具有读/写访问权限的沙箱。
为了方便我们的客户,沙箱在内核模式下实现了动态符号链接,该链接将d:\ home映射到客户主目录。这样做是为了消除客户在访问网站时继续参考他们自己的网络共享路径的需要。 无论站点在哪里运行,或者在虚拟机上运行了多少个站点,都可以使用d:\ home访问其主目录。
你可以利用KUDU一个简单的方法来访问您的Web应用程序的内容如下:
如果您需要经常从的预置型文件系统上载.csv文件到Azure中,你可以考虑使用Azure数据工厂(ADF)。 ADF是一个基于云的全面管理的数据集成服务,能够从不同格式的30个不同数据源采集数据,并能够存入任何Azure数据存储服务(Blob,SQL DB,SQL DW,ADLS,文档数据库,Azure搜索)。以下是如何配置ADF管道以将文件从本地上传到Azure Blob的示例:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-onprem-file-system-connector#json-examples-for-copying-data-to-and-from-file-system。我们强烈建议使用复制向导,这是一个基于GUI的创作向导,而不是使用JSON。请参阅本教程以获得使用复制数据向导创建管道的快速演练:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-copy-data-wizard-tutorial
- 1. 导入csv文件到oracle数据库
- 2. 如何从csv文件导入数据到数据库中?
- 3. 从CSV文件导入到mysql数据库错误
- 4. 无法从csv文件导入多个行到sqlite数据库
- 5. 增强csv文件数据库导入
- 6. csv文件导入数据库,php
- 7. 数据导入.csv文件到CouchDB的
- 8. 如何将数据从CSV文件导入数据库
- 9. 导入CSV从混合数据文件导入到MATLAB
- 10. 将数据从txt文件导入到SQL-Server表的功能
- 11. 从CSV文件导入数据
- 12. 如何从文件导入csv数据
- 13. Flask-Python从csv文件导入数据
- 14. Azure SQL数据库 - 来自azure sql的数据文件导出(.csv)
- 15. 如何将数据从csv文件导出到mysql数据库?
- 16. 将数据导入csv文件到mysql
- 17. 导入csv或文本文件到数据库
- 18. 如何将数据从.csv文件中导入到postgres数据库表中?
- 19. 将.csv文件导入到QT上的sqlite3数据库表gui
- 20. 导入CSV文件到Rails sqlite3的数据库
- 21. 将CSV文件导入到MySQL数据库的工具?
- 22. CSV文件到数据库
- 23. 将csv导入数据库
- 24. Azure将csv文件从Azure文件服务位置导入Azure SQL Server
- 25. 将CSV导入到Heroku数据库中
- 26. 将csv文件导入到每个新数据库中
- 27. 使用休眠导入csv文件到MySQL数据库
- 28. 将csv文件/ excel导入到sql数据库asp.net
- 29. 将CSV文件导入到Android应用程序Sqlite数据库
- 30. 导入CSV文件到Oracle数据库中使用Java
即时通讯相当新颖,我不认为有一个我们可以访问的文件系统,我认为这只是blob和表存储。这是在生产环境中可用吗? – proteus
是否有任何“最佳实践”可用于将.csv文件中的数据上传到Azure? – proteus
Web应用程序提供的文件系统可以在生产环境中使用。此外,如果csv文件很大,或者将csv导入db表的过程需要花费很多时间,我认为您可以利用WebJob和Azure存储来优化此方案。 –