如果是新网站和旧网站不是一种cms或者数据库类型不同,这样的也是可以完成数据迁移的。
这边临时考虑有这么几种思路:
1)数据库为数据源的内容转移11 数据源数据库分析
将老网站的数据库结构分析明白,能找到老网站cms的数据字典的话,配合起来好一些
12 新后台数据结构分析
分析新网站后台的数据库内容录入涉及到的表和数据表的字段结构,理清楚文章录入后发生写入和更新 *** 作涉及到的数据。
13 数据导入模块程序编制及导入
编写程序,读取11中老网站数据条目并按照新网站后台的实际字段需要做数据结构转换,将转换后的数据字段直接写入新网站后台的数据库对应的表中
这样 *** 作,需要对两个后台的内容模型、数据字段标记形式、数据库字段存储形式等细节有比较仔细的推敲的基础上进行,技术要求相对高一些。
其实,13过程,其实可以采用模拟发包的形式,将12处理完成的原始数据直接模拟人工录入(例如POST请求)的形式将拼接好的数据提交到新网站后台的录入地址
2)网站html采集为数据源的内容转移有个别情况,因为各种原因,无法直接获取到老网站后台的数据库的情况。
可以通过采集老网站html内容,将老网站的各种文章字段、及音视频素材等汇总整理到本地(或者动态采集不在本地存放),然后再通过12、13的步骤录入到新网站后台。或者是12步骤之后模拟发包的形式保存到新后台。
3)老网站及音视频附件的处理31 可以直接上传附件的情况
直接将老网站的附件目录直接上传到新网站后台,不需要吧正文部分对应的、附件、音视频等资源的路径做二次转换
32 无法直接将老网站后台附件上传到新后台(没有ftp权限或者服务器权限的情况)
需要在上文中13的步骤过程中,分析和音视频的上传请求,通过模拟在新后台的附件上传请求,将老网站的及音视频、附件等文件上传到新后台。
4)内容转移到新网站之后的细节处理如果说做事情要追求做到极致的话,其实数据导入到新后台之后,还有一个重要的环节。就是将老网站的历史url挨个做301到新网站后台对应稿件的对应新url。
这个是一个对工作精密程度要求很高的工作,很少有做的。但是对于用户体验比较好。
这样做了,老网站所有的内容,在换到新的后台之后都是可以打开的,而且搜索引擎收录的文章数量不会大幅度减少。
别急别急,导入很简单,方法也很多,我就说三个,你选一个。
如果要用ASP处理就需要把Excel文件上传服务器,可以用打开数据库的方式将Excel文件中的数据导入到你的数据库,不管是什么数据库,只要你代码写的没问题就可以导入。如果服务器上装了Office并开放了Excel的DCOM组件服务,那么你甚至可以处理Excel文件里面的颜色信息等。
如果用VBS处理,需要创建Excel控件,然后就可以提取单元格内的信息。创建数据库的远程连接就可以把刚才取得到的数据一一写入数据库。
如果用Excel里面的宏,也就是VBA,同样可以连接数据库,当然 *** 作Excel更是VBA的强项了。
我介绍的是ADOnet的用法。。这里有个很详细的范例,你仔细研究下。。每一句代码都有注释的。
//ADOnet需要引入的命名空间
using SystemDataSqlClient;
using SystemData;
//ConfigurationManager类需要引入以下命名空间
using SystemConfiguration;
public partial class _Default : SystemWebUIPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
//响应"查询学生表"按钮-演示利用SqlDataReader类遍历表记录
protected void btn1_Click(object sender, EventArgs e)
{
//获取数据库连接字符串(ConfigurationManager类需要引入SystemConfiguration的命名空间)
string sqlConnectStr = ConfigurationManagerConnectionStrings["SchoolConnectionString"]ConnectionString;
//创建数据库连接对象(SqlConnection)
SqlConnection myConnection = new SqlConnection(sqlConnectStr);
//创建数据库命令对象(SqlCommand)
SqlCommand myCommand = new SqlCommand("select from Student", myConnection);
//打开数据库连接
myConnectionOpen();
//创建数据读取对象(注意:ExecuteReader()方法获取的数据只读,而且只能向后移动记录)
SqlDataReader myReader = myCommandExecuteReader();
//逐一读取记录,显示到表格中
literalResultText = "<table border=1><tr> <td>学号</td><td>姓名</td><td>性别</td>";
while (myReaderRead())
literalResultText = literalResultText + "<tr><td>" + myReader["StudentID"]ToString() + "</td><td>" + myReader[1]ToString() + "</td><td>" + myReaderGetString(2) + "</td>";
literalResultText = literalResultText + "</table>";
//关闭数据读取对象
myReaderClose();
//关闭数据库连接对象
myConnectionClose();
}
//响应"查询学生数量"按钮-演示"SqlCommandExecuteScalar()"方法
protected void btn2_Click(object sender, EventArgs e)
{
//创建数据库连接对象(SqlConnection)
SqlConnection myConnection = new SqlConnection("server=(local);database=school;uid=sa;pwd=123;");
//创建数据库命令对象(SqlCommand)
SqlCommand myCommand = new SqlCommand("select count() from student",myConnection);
//打开数据库连接
myConnectionOpen();
//获取查询结果数据(注意: SqlCommandExecuteScalar()方法只获取返回结果中的第一行、第一列值)
int StudentCount = ConvertToInt32(myCommandExecuteScalar());
literalResultText = "学生数量为" + StudentCountToString();
//关闭数据库连接对象
myConnectionClose();
}
//响应"删除第一个学生"按钮-演示"SqlCommandExecuteNonQuery()"方法
protected void btn3_Click(object sender, EventArgs e)
{
//获取数据库连接字符串(ConfigurationManager类需要引入SystemConfiguration的命名空间)
string sqlConnectStr = "server=(local);database=school;uid=sa;pwd=123;";
//创建数据库连接对象(SqlConnection)
SqlConnection myConnection = new SqlConnection(sqlConnectStr);
//创建数据库命令对象(SqlCommand)
SqlCommand myCommand = new SqlCommand("delete from student where StudentID=(select min(StudentID) from student)", myConnection);
//打开数据库连接
myConnectionOpen();
//获取查询结果数据(注意: SqlCommandExecuteNonQuery()方法适合于Insert、Delete、Update等 *** 作,返回 *** 作影响的行数)
int Result = ConvertToInt32(myCommandExecuteNonQuery());
if(Result==1)
literalResultText = "删除了1个学生记录!";
else
literalResultText = "删除 *** 作失败!";
//关闭数据库连接对象
myConnectionClose();
}
//响应"查询1号学生"按钮-演示如何调用"存储过程"
protected void btn4_Click(object sender, EventArgs e)
{
//创建数据库连接对象(SqlConnection)
SqlConnection myConnection = new SqlConnection("server=(local);database=school;uid=sa;pwd=123;");
//创建数据库命令对象(存储过程类型)
SqlCommand myCommand = new SqlCommand("SearchStudentByID", myConnection);
myCommandCommandType = SystemDataCommandTypeStoredProcedure;
//为存储过程添加参数(定义:Create Procedure SearchStudentByID @StudentID [int] AS Select From Student Where StudentID=@StudentID)
myCommandParametersAddWithValue("@StudentID", 1);
//打开数据库连接
myConnectionOpen();
//创建数据读取对象(注意: ExecuteReader()方法获取的数据只读,而且只能向后移动记录)
SqlDataReader myReader = myCommandExecuteReader();
//逐一读取记录,显示到表格中
literalResultText = "<table border=1><tr> <td>学号</td><td>姓名</td><td>性别</td>";
while (myReaderRead())
literalResultText = literalResultText + "<tr><td>" + myReader["StudentID"]ToString() + "</td><td>" + myReader[1]ToString() + "</td><td>" + myReaderGetString(2) + "</td>";
literalResultText = literalResultText + "</table>";
//关闭数据读取对象
myReaderClose();
//关闭数据库连接对象
myConnectionClose();
}
//响应"查询学生表"按钮-演示利用myDataSet类遍历表记录
protected void btn5_Click(object sender, EventArgs e)
{
//获取数据库连接字符串(ConfigurationManager类需要引入SystemConfiguration的命名空间)
string sqlConnectStr = ConfigurationManagerConnectionStrings["SchoolConnectionString"]ConnectionString;
//创建数据库连接对象(SqlConnection)
SqlConnection myConnection = new SqlConnection(sqlConnectStr);
//创建数据库命令对象(SqlCommand)
SqlCommand myCommand = new SqlCommand("select from student", myConnection);
//打开数据库连接
myConnectionOpen();
//创建DataAdapter对象
SqlDataAdapter myDataAdapter = new SqlDataAdapter(myCommand);
//创建DataSet对象,DataSetName="student"
DataSet myDataSet = new DataSet("student");
//把"student"表记录填充到myDataSet中
myDataAdapterFill(myDataSet, "student");
//遍历表记录,显示到表格中
literalResultText = "<table border=1><tr> <td>学号</td><td>姓名</td><td>性别</td>";
int rowCount = myDataSetTables["student"]RowsCount;
for(int i=0;i<=rowCount-1;i++)
literalResultText = literalResultText + "<tr><td>" + myDataSetTables["student"]Rows[i]["StudentID"]ToString() + "</td><td>" + myDataSetTables["student"]Rows[i]["Name"]ToString() + "</td><td>" + myDataSetTables["student"]Rows[i]["Sex"]ToString() + "</td>";
literalResultText = literalResultText + "</table>";
//另外一种遍历表记录的方法
//literalResultText = "<table border=1><tr> <td>学号</td><td>姓名</td><td>性别</td>";
//foreach (DataRow dr in myDataSetTables["student"]Rows)
// literalResultText = literalResultText + "<tr><td>" + dr["StudentID"]ToString() + "</td><td>" + dr["Name"]ToString() + "</td><td>" + dr["Sex"]ToString() + "</td>";
//literalResultText = literalResultText + "</table>";
//关闭数据库连接对象
myConnectionClose();
}
}
HTML是无法读取数据库的,HTML是页面前端脚本语言,要想从HTML网页中获取SQL数据库里的数据,需要借助JSP或ASP或PHP或RUBY等语言来实现。
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。
扩展资料
SQL语言的组成:
1、一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2、一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3、一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
4一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。
5用户可以用SQL语句对视图和基本表进行查询等 *** 作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
6SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL和Ada语言等。
参考资料:百度百科▬SQL数据库
可以把EXCEL先转化为CSV文件(要根据数据表的结构来建好EXCEL文件)。
需要注意的是,要把EXCEL文件中的英文的逗号、引号、#号、分号全部删掉(原则是不能和分隔符相同)。
在PHPMYADMIN里,有用CSV格式导入的功能,只要CSV文件的列数能对上表的字段,就可以成功导入。
以上就是关于如何把旧网站的数据全部转移到新网站详细点谢谢。全部的内容,包括:如何把旧网站的数据全部转移到新网站详细点谢谢。、我做了一个ASP动态网站,我想通过后台 *** 作,将EXCEL文件导入到数据库中对应的表中,而且字段也要对应、用asp.net做物流网站, 如何将网页中输入的数据提交给数据库并在页面中显示(导入成功有提示)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)