我有一个制表符分隔的平面文件,我需要从中提取数据并更新我的 MS-SQL 数据库中的表。
有没有人有任何关于我将如何去做的细节?也许是某个地方的网站或教程?
提前致谢。
更新:基本上亚马逊返回一个制表符分隔的平面文件,我需要从中提取数据,然后使用该数据更新我的数据库。我已经知道如何从 MS SQL 数据库中导出数据 :)
我有一个制表符分隔的平面文件,我需要从中提取数据并更新我的 MS-SQL 数据库中的表。
有没有人有任何关于我将如何去做的细节?也许是某个地方的网站或教程?
提前致谢。
更新:基本上亚马逊返回一个制表符分隔的平面文件,我需要从中提取数据,然后使用该数据更新我的数据库。我已经知道如何从 MS SQL 数据库中导出数据 :)
如果您使用的是 MS SQL,则应该查看该BCP
程序。
http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx
或BULK INSERT
命令
以下是步骤:
1-右键单击您的数据库并选择任务/导出数据,
2-数据源:平面文件
3- 分隔符:制表符
接下来在向导中...
我设法使用下面的代码找出需要什么。添加作为参考,以防有人需要类似的东西。
try
{
//start with the second row
string[] rowRow = row.Split('\t');
string sku = rowRow[0].Trim();
string qty = rowRow[1].Trim();
decimal price = Convert.ToDecimal(rowRow[2].Trim());
string asin = rowRow[3].Trim();
int pcType = dc.productCodeTypes.Where(c => c.length == asin.Length).FirstOrDefault().id;
//Save to DB
abcProduct aUpdate = dc.abcProducts.Single(p => p.sku == sku);
if (aUpdate.asin == asin) { }
else { aUpdate.asin = asin; }
if (aUpdate.codeType == pcType) { }
else { aUpdate.codeType = pcType; }
if (aUpdate.amzPrice == price) { }
else { aUpdate.amzPrice = price; }
dc.SubmitChanges();
}
如果您使用 WAMP 服务器安装了 mysql,最简单的方法是:
假设您的数据库在您自己的计算机上,请在浏览器上打开 PHPMyAdmin,如下所示:localhost/phpmyadmin
打开你的 mysql 数据库。如果您还没有,请创建一个。即,只有数据库(没有表)
激活数据库后,使用 phpmyadmin 上的 IMPORT 功能。找到屏幕顶部的按钮。
指定要导入的文件并将分隔字符指示为 TAB。默认情况下它是一个逗号。
您现在可以直接在数据库中保存您的记录。
不过有一点......默认情况下,一些 phpmyadmin 设置对文件大小有限制。