plsql执行sql文件步骤如下:
一、PL/SQL登录到数据库,使用tools工具进行导入,使用plsql登录到需要导入数据的数据库,点击工具栏上tools--Import tables。
二、点击工具SQL Inserts、(第二个选项),点击选择需要导入的数据库脚本。
三、选择sql脚本的,点击打开,即可打开数据库脚本文件,数据库脚本就可以预加载到plsq工具中。
四、开始导入数据库数据。选择完sql脚本之后,点击Import按钮开始将脚本中的数据导入到数据库中。
五、执行完之后,没有任何报错说明插入成功。
sql脚本要在dbms里执行\x0d\\x0d\比如oracle,你可以在sqlplus里,或pl/sql developer里执行\x0d\\x0d\直接复制sql语句过去,回车就好了(注意带分号)\x0d\\x0d\如果你的sql是一个sql文件(sql)\x0d\可以使用start或@ 然后跟文件的路径(c:/asql) 回车你建一个SQLSERVER,然后建一个库,或者ISQL。EXE,或者打开查询分析期,直接打开这个。SQL文件,运行即可出现这个问题,你先把该DATABASE的属性设置为OFFLINE,即可
在sqlserver management studio 里
直接打开这个文件
链接到对应数据库
按F5 就能整个文件执行
或者按
本篇文章是对使用PHP执行 SQL文件的实现代码进行了详细的分析介绍 需要的朋友参考下demo php:
复制代码 代码如下: <php / 读取 sql 文件并写入数据库 @version demo php / class DBManager { var $dbHost = ; var $dbUser = ; var $dbPassword = ; var $dbSchema = ; function __construct($host $user $password $schema) { $this >dbHost = $host; $this >dbUser = $user; $this >dbPassword = $password; $this >dbSchema = $schema; } function createFromFile($sqlPath $delimiter = (;/n)|((;/r/n))|(;/r) $prefix = $menter = array( # )) { //判断文件是否存在 if(!file_exists($sqlPath)) return false; $handle = fopen($sqlPath rb ); $sqlStr = fread($handle filesize($sqlPath)); //通过sql语法的语句分割符进行分割 $segment = explode(";" trim($sqlStr)); //var_dump($segment); //去掉注释和多余的空行 foreach($segment as & $statement) { $sentence = explode("/n" $statement); $newStatement = array(); foreach($sentence as $subSentence) { if( != trim($subSentence)) { //判断是会否是注释 $isComment = false; foreach($menter as $er) { if(eregi("^(" $er ")" trim($subSentence))) { $isComment = true; break; } } //如果不是注释 则认为是sql语句 if(!$isComment) $newStatement[] = $subSentence; } } $statement = $newStatement; } //对表名加前缀 if( != $prefix) { //只有表名在第一行出现时才有效 例如 CREATE TABLE talbeName $regxTable = "^[/`/ /"]{ }[/_a zA Z]+[/_a zA Z ][/`/ /"]{ }$";//处理表名的正则表达式 $regxLeftWall = "^[/`/ /"]{ }"; $sqlFlagTree = array( "CREATE" => array( "TABLE" => array( "$regxTable" => ) ) "INSERT" => array( "INTO" => array( "$regxTable" => ) ) ); foreach($segment as & $statement) { $tokens = split(" " $statement[ ]); $tableName = array(); $this >findTableName($sqlFlagTree $tokens $tableName); if(empty($tableName[ leftWall ])) { $newTableName = $prefix $tableName[ name ]; } else{ $newTableName = $tableName[ leftWall ] $prefix substr($tableName[ name ] ); } $statement[ ] = str_replace($tableName[ name ] $newTableName $statement[ ]); } } //组合sql语句 foreach($segment as & $statement) { $newStmt = ; foreach($statement as $sentence) { $newStmt = $newStmt trim($sentence) "/n"; } $statement = $newStmt; } //用于测试 //var_dump($segment); //writeArrayToFile( data txt $segment); // self::saveByQuery($segment); return true; } private function saveByQuery($sqlArray) { $conn = mysql_connect($this >dbHost $this >dbUser $this >dbPassword); mysql_select_db($this >dbSchema); foreach($sqlArray as $sql) { mysql_query($sql); } mysql_close($conn); } private function findTableName($sqlFlagTree $tokens $tokensKey= & $tableName = array()) { $regxLeftWall = "^[/`/ /"]{ }"; if(count($tokens)<=$tokensKey) return false; if( == trim($tokens[$tokensKey])) { return self::findTableName($sqlFlagTree $tokens $tokensKey+ $tableName); } else { foreach($sqlFlagTree as $flag => $v) { if(eregi($flag $tokens[$tokensKey])) { if( ==$v) { $tableName[ name ] = $tokens[$tokensKey]; if(eregi($regxLeftWall $tableName[ name ])) { $tableName[ leftWall ] = $tableName[ name ]{ }; } return true; } else{ return self::findTableName($v $tokens $tokensKey+ & $tableName); } } } } return false; } } function writeArrayToFile($fileName $dataArray $delimiter="/r/n") { $handle=fopen($fileName "wb"); $text = ; foreach($dataArray as $data) { $text = $text $data $delimiter; } fwrite($handle $text); } //测试 $dbM = new DBManager( localhost w f test ); $dbM >createFromFile( data sql null fff_ ); > lishixinzhi/Article/program/PHP/201311/21281可以在cmd窗口中执行如下命令执行Sql文件:
osql -S 127001 -U sa -P sa -i d:\testsql
简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL
Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码
-i表示要执行的脚本文件路径。你没说你是用的什么数据库啊
如果你不知道怎么运行 你可以用记事本直接打开
把所有的代码复制到你所有的数据库系统的命令行模式就可以啊
sql server ,oracle,mysql等 都可以的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)