在做数据库异地还原时碰到的问题,有点难度分不够可以再加,高手进来帮忙,谢谢!!!!
由于数据库的 RESTORE DATABASE 无法在异地还原,所以我的思路是这样的,将数据库结构生成一个
SQL文件、一个数据文件(都是INSERT 语句)。然后在读出SQL语句用TADOQuery执行。结果碰到如下问题
:
1、文件中如果有GO语句TADOQuery.sql.LoadFromFile()进来后就会报语法错误。
2、由于数据库中有几个存储过程,用到了同名称的临时表,如果不分批(GO)执行的话那存储过程就无法创建。
3、由于上面原因我改用TMemo.Lines作为中介读入文件。用memo2.Lines[i]一句句读入语句,当碰到GO时在用TADOQuery执行语句。结果出现的问题是memo2.Lines[i]每行读入的字符好像是固定长度。当我的存储过程中有(--)注释语句时它会自动进行分段度入,这样执行创建存储过程是还是报语句错误。
4、当我用TADOQuery读入INSERT文件是,由于文件中有
insert into aaa values ('<"width:100%" ')这样的语句,所以执行语句时报无参数错误,但‘100%'只是数据表中的内容。碰到这类问题该怎么办?
我以前用VB也这样做过,思路因该没什么问题.DELPHI用的少,许多问题不清楚。希望有高手能帮忙解惑!!!如果分不够可以再加!!!先谢谢了。