当前位置:首页 » 编程语言 » sql复制项目
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql复制项目

发布时间: 2022-08-27 01:09:39

⑴ 怎样能在PLsql,SQL窗口中快速复制上一行的内容。最好有快捷键。

Myeclipse有你说的那种快捷键。plsql应该是没有滴。

Alt+↓ 当前行和下面一行交互位置
Alt+CTRL+↓ 复制当前行到下一行(复制增加)
Alt+CTRL+↑ 复制当前行到上一行(复制增加)

⑵ 将Sql Server中的数据导入到Mysql数据库

把sql2000的.sql脚本导出来(要包含你的数据),然后修改这个脚本的语法使其符合mysql,最后在mysql命令行下导入脚本就可以了。
复制数据库操作可以导出数据,但不是.sql文件。
这个问题本来就很难解决,因为每个数据库都有自己的管理系统。
参考:
第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中

的ntext,image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改动就可以,可惜偶这只菜鸟还没想到如何改动,其次,因为偶在mysql中的数据库设计中将时间都设成int型(保存的是时间戳),所以在数据导过来后,就会出现冲突,再次,这种方法生成的mysql数据表的字段类型都不很合适,所以此种方法我觉得不能提倡。

第二种是利用php或asp脚本来实现数据的导入功能,这种方法需要编写程序,但灵活性大,操作也不是那么困难,一切都尽在你的掌握之中,现简单介绍一下该方法

前提条件是你的mysql环境已经搭建好了,先建好目标数据库,再将所有的表结构用sql语句生成,现在万事具备,只缺数据了。

可以通过下面的php脚本来实现sql server中mydb数据库的user表中数据向mysql中mydb数据库导入

$cnx = odbc_connect('web', 'admin', '123456');//'web'是sqlserver中mydb的数据源名,'admin'是访问mydb的用户名,'123456'是访问mydb的密码

$cur= odbc_exec( $cnx, 'select * from user' );//打开sql server中mydb数据库的user表

$num_row=0;

$conn=mysql_pconnect("localhost","root","123456");// 连接mysql

@mysql_select_db('mydb',$conn) or

die("无法连接到数据库,请与管理员联系!");//打开mysql的mydb数据库

while( odbc_fetch_row( $cur )) //从sql server的mydb库中的user表逐条取出数据,如果对数据进行选择,可在前面的select语句中加上条件判断

{

$num_row++;

$field1 = odbc_result( $cur, 1 ); // 这里的参数i(1,2,3..)指的是记录集中的第i个域,你可以有所选择地进行选取,fieldi得到对应域的值,然后你可以对fieldi进行操作

$field2 = odbc_result( $cur, 2 );

$field3 = odbc_result( $cur, 3 );

$field4 = odbc_result( $cur, 4 );

$field5 = odbc_result( $cur, 5 );

$field6 = odbc_result( $cur, 6 );

$field5 = timetoint($field5); //这里是对sql server中的datetime类型的字段进行相应转换处理,转换成我所需要的int型

$querystring = "insert into user
(id,name,username,password,recdate)
values('$field1','$field2','$field3','$field4','$field5')" ;
mysql_query($querystring,$conn);
}
function timetoint($str){
$arr1=split(" ",$str);
$datestr=$arr1[0];
$timestr=$arr1[1];
$arr_date=split("-",$datestr);
$arr_time=split(":",$timestr);
$year=$arr_date[0];
$month=$arr_date[1];
$day=$arr_date[2];
$hour=$arr_time[0];
$minute=$arr_time[1];
$second=$arr_time[2];
$time_int=mktime($hour,$minute,$second,$month,$day,$year);
return $time_int;
}
?>

将该段脚本存成sql.php,在服务器上执行,就可以将服务器上sql server中mydb数据库的user表中的数据导入到mysql中mydb数据库的user表中去。其他表的操作与此雷同,就不赘述了。

下面再介绍一下asp脚本实现sql server中mydb数据库的数据向mysql中mydb数据库导入

<%
set conn=server.createobject("adodb.connection")
conn.open 'web', 'admin', '123456' // 'web'是sqlserver中mydb的数据源名,
'admin'是访问mydb的用户名,'123456'是访问mydb的密码
set rs=server.createobject("adodb.recordset")
sql="select ID,name,username,password,datediff(s,'1970-01-01 00:00:00',
recdate)-8*3600,reid,filename,fileContentType,filevalue from senddate"
//这条sql语句实现了将datetime类型的recdate字段转化成unix时间戳的int型
rs.open sql,conn,1,3
set conn1=server.createobject("adodb.connection")
conn1.open "myoa","root","q1-d6=7?"
i=1
do while not rs.eof
field1 = rs(0)
field2 = rs(1)
field3 = rs(2)
field4 = rs(3)
field5 = rs(4)
sql1 = "insert into user(ID,name,username,password,recdate)
values("&field1&",'"&field2&"','"&field3&"','"&field4&"',"&field5&")"
conn1.execute sql1
rs.movenext
i=i+1
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
conn1.close
set conn1=nothing
%>

以上两个是分别采用php脚本和asp脚本对user表的数据进行由sql server到mysql的导入其间我采用2种回避的方法来避免ntext,image类型数据的传递,一种是将ntext字段改为nvarchar(4000),因为实际情况,原始数据中该字段的数据长度都未超过4000个字,所以并没有出现数据截断,另一个手段是将image类型数据取出来写到文件中,以文件形式保存,将文件路径存到数据库中,方法见下:

function makeattach(fileContentType,filevalue,i)
select case fileContentType
case "application/msword"
ext="doc"
case "application/vnd.ms-excel"
ext="exl"
case "application/vnd.ms-powerpoint"
ext="pps"
case "application/x-rar-compressed"
ext="rar"
case "application/x-zip-compressed"
ext="zip"
case "image/gif"
ext="gif"
case "image/pjpeg"
ext="jpg"
case "text/plain"
ext="txt"
case else
ext="x"
end select
if ext<>"x" then
set fso=server.createobject("FileSystemObject")
fName="attech"&i&"."&ext
Dir="d:attach"
If fso.FileExists(Dir & fName) Then fso.deletefile Dir & fName
If fName<>"" AND NOT fso.FileExists(Dir & fName) Then
Set strm1=Server.CreateObject("ADODB.Stream")
strm1.Open
strm1.Type=1 'Binary
strm1.Write filevalue
strm1.SaveToFile Dir & fName,2
Set strm1=Nothing
end if
makeattach=fName
end if
end function

这个函数有3个输入参数,第一个是文件的contentType,第二个是文件的二进制数值,第三个是个可以区别文件名的变量,先根据contentType确定所存文件的后缀名,然后就是将二进制数值保存成指定文件名的文件,并将文件名作为输出参数返回,将返回的参数作为数据写到mysql的数据库中保存。

如何配置 SQL Server 发布服务器计算机

本主题上次更新时间 - 2008 年 8 月发布步骤允许您选择要复制的数据和数据库对象以便订阅者只收到需要的数据。Configuration Manager 2007 不支持站点数据库完全复制,只应复制特定的站点数据库对象。注意 在Configuration Manager 2007 安装中,为支持站点系统访问站点数据库副本,必须复制 98 个对象(48 个表、44 个存储过程、4 个视图和两个用户定义的函数)。在 Configuration Manager 2007�0�2SP1 安装中,为支持站点系统访问站点数据库副本,必须复制 99 个对象(49 个表、44 个存储过程、4 个视图和两个用户定义的函数)。
在开始执行这些过程之前,确保已完成复制前必需任务。有关必需的复制前安装任务的详细信息,请参阅 如何执行必需的复制前安装任务。可以使用以下过程来配置宿主站点数据库的 SQL Server 以发布要复制的站点数据库,并充当其自身的分发服务器。配置宿主站点数据库的 SQL Server 以发布要复制的站点数据库在连接到宿主站点数据库的 SQL�0�2Server 的 SQL Server 2005 SQL�0�2Server�0�2Management�0�2Studio 控制台中,右键单击“复制”,然后单击“配置分发”以启动配置分发向导。在“欢迎”页面上,单击“下一步”(如果显示)。在“分发服务器”页面上,选择“‘<站点服务器名称>’将充当自己的分发服务器;SQL Server 将创建分发数据库和日志”。如果SQL Server 代理服务尚未启动,必须在“启动 SQL Server 代理”页面上将其启动。注意 如果SQL Server 服务帐户对 SQL Server 计算机没有管理权限,必须手动启动 SQL Server 代理服务并将其配置为在 SQL Server 启动时自动启动。
在“快照文件夹”页面上,输入空的共享网络资源,订阅服务器 SQL Server 将访问该资源以检索存储在其中的站点数据库快照信息。重要 必须为快照文件夹指定有效的 UNC 共享路径。对快照文件夹使用本地驱动器路径将不支持在订阅服务器 SQL Server 计算机上创建的请求订阅。
在“分发数据库名称”页面上,指定要创建以支持站点数据库分发的系统数据库的数据库名称和数据库文件安装目录。注意 分发数据库文件安装路径必须是 SQL�0�2Server 计算机上的本地位置,并以驱动器号和冒号开头(例如,C:)。
在“发布服务器”页面上,选择宿主站点数据库的 SQL Server,在它变为发布服务器时将使用分发服务器数据库。在“向导操作”页面上,选择“配置分发”。在“完成向导”页面上,验证将用于配置分发的设置,然后单击“完成”。完成分发配置之后,单击配置页面上的“关闭”。配置新的本地发布以获得所需的 SQL Server 副本站点数据库信息在连接到宿主站点数据库的 SQL�0�2Server 的 SQL Server 2005 SQL�0�2Server�0�2Management�0�2Studio 控制台中,展开“复制”,右键单击“本地发布”,然后单击“新建发布”以启动新建发布向导。在新建发布向导欢迎页面上,单击“下一步”。在“发布数据库”页面上选择站点数据库。在“发布类型”页面上,选择“事务发布”。在“项目”页面上,选择要作为复制项目发布的必需站点数据库对象。确定要发布的必需站点数据库对象: 在SQL�0�2Server�0�2Management�0�2Studio 控制台中,右键单击站点数据库名称并选择“新建查询”。
在SQL�0�2Server�0�2Management�0�2Studio 结果窗格中,输入以下查询:Select�0�2ObjectName�0�2from�0�2ReplicatedObjects�0�2where�0�2SiteSystemType�0�2=�0�2'MP',然后单击“执行”。注意 支持服务器定位器点站点系统以访问 SQL�0�2Server 站点数据库副本所需的对象将作为管理点复制的对象查询的一部分返回。完成此步骤之后,不需要为复制配置其他对象以支持为访问站点副本而配置的服务器定位器点站点系统。如果仅配置 SQL�0�2Server 站点数据库复制以支持服务器定位器点访问 SQL Server 副本,您可以使用以下查询:Select�0�2ObjectName�0�2from�0�2ReplicatedObjects�0�2where�0�2SiteSystemType�0�2=�0�2'SLP'。
在“项目问题”页面上,确保已为复制选择列出的表和对象。在“筛选表行”上,不要添加任何表筛选。在“快照代理”页面上,选择“立即创建快照并使快照保持可用状态,以初始化订阅”。选择“计划在以下时间运行快照代理:”并接受默认计划。或者,您可以单击“更改”,以根据自己的复制要求为快照代理配置日常计划频率。在“代理安全性”页面上,单击“安全设置…”并配置用于快照代理和日志读取器代理的帐户。在“向导操作”页面上,验证是否已选中“创建发布”。在“完成向导”页面上,输入发布的名称并检查发布设置,然后单击“完成”。在“创建发布”页面上,在创建发布之后单击“关闭”。另请参阅任务 如何配置 SQL Server 订阅服务器计算机其他资源 如何配置 SQL Server 站点数据库复制

⑷ WINCC显示接口驱动程序出错

WINCC显示接口驱动程序出错的原因:
1,直接复制项目文件的方式来复制,造成出现这样错误:请用wincc自带的项目复制器ProjectDuplicator。
2SQL服务器的安全模式设置被改变了:将SOL服务器的安全模式设置成“M xed Mode”。
3,计算机的名称改变引起。
4,项目路径中使用了非法的命名字符。(包括项目名称)中含有中文引起的5,计算机的用户权限不够高。

6,应该是wincc项目文件中的数据库数据太大用wincc工具中的项目复制器复制一个就可去掉数据库中的数据,而且速度运行很快
CCAlgServer。exe错误:应该是报警归档出现问题!
你把报 wincc 的“警运行系统”运行系统取消看看是不是报警模块出错了,如果是wincc v6.0以上版本的话,用wincc自带的项目复制器来重新复制一个项目吧!如果是v6.0以下的版本的话就清空归档数据库
7,把wincc中的“计算机”的属性中的“报警运行系统”前的勾去掉看看!日能是项目中的报警归档不正确;你用wincc自带的项目复制器来复制新的项目在运行.

⑸ 在公司做项目把数据库(sql server)建立到远程服务器上了。我如何把数据库复制到我本地

不用啊 如果你能访问到你的远程服务器 那么在SQLserver里面做一个远程链接就可以了 你本地在安装一个数据库软件 通过TCP/IP 直接就可以在本地访问你那里远程服务器 SQL数据库里的数据了

⑹ 如何将sql jar包引入到Java项目中

鼠标移到项目上去!属性》添加》在把你的JDBC添加进去就可以了第二种方法:直接把你的SQL JDBC复制到web的lib目录下面 建议用第二种!这样如果在别的地方运行你的项目就不需要再次配置JDBC了

⑺ mysql5.0怎么不能直接复制数据库文件了啊

项目上 MySQL还原 SQL 备份经常会碰到一个错误如下,且通常出现在导入视图、函数、存储过程、事件等对象时,其根本原因就是因为导入时所用账号并不具有SUPER 权限,所以无法创建其他账号的所属对象。ERROR 1227 (42000) : Access denied; you need (at least one of) the SUPER privilege(s) for this operation常见场景:1. 还原 RDS 时经常出现,因为 RDS 不提供 SUPER 权限;2. 由开发库还原到项目现场,账号权限等有所不同。

处理方式:

1. 在原库中批量修改对象所有者为导入账号或修改SQL SECURITY为Invoker;2. 使用 mysqlmp 导出备份,然后将 SQL 文件中的对象所有者替换为导入账号。
二、问题原因我们先来看下为啥会出现这个报错,那就得说下 MySQL 中一个很特别的权限控制机制,像视图、函数、存储过程、触发器等这些数据对象会存在一个DEFINER和一个SQL SECURITY的属性,如下所示:

  • --视图定义CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`%`SQLSECURITYDEFINERVIEWv_test


  • --函数定义CREATEDEFINER=`root`@`%`FUNCTION`f_test()`RETURNSvarchar(100)SQLSECURITYDEFINER


  • --存储过程定义CREATEDEFINER=`root`@`%`PROCEDURE`p_test`()SQLSECURITYDEFINER


  • --触发器定义CREATE DEFINER=`root`@`%` trigger t_test


  • --事件定义CREATE DEFINER=`root`@`%` EVENT `e_test`

  • DEFINER:对象定义者,在创建对象时可以手动指定用户,不指定的话默认为当前连接用户;

  • SQL SECURITY:指明以谁的权限来执行该对象,有两个选项,一个为DEFINER,一个为INVOKER,默认情况下系统指定为 DEFINER;DEFINER:表示按定义者的权限来执行;INVOKER:表示按调用者的权限来执行。

  • 如果导入账号具有 SUPER 权限,即使对象的所有者账号不存在,也可以导入成功,但是在查询对象时,如果对象的SQL SECURITY为DEFINER,则会报账号不存在的报错。ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist



  • 改写好处:1. 可以避免还原时遇到 DEFINER 报错相关问题;2. 根据输出信息知道备份是否正常进行,防止备份中遇到元数据锁无法获取然后一直卡住的情况。

⑻ SQL Server 2008安装 数据库引擎,SQL 复制功能,全文搜索都安装失败了。

可能基本的运行环境安装不对,比如VC++库和 .NET Framework;
也可能是上一次卸载的时候,不彻底;
1。停止所有跟Sql相关的服务:控制面板-〉管理工具-〉服务
2。在控制面板中卸载所有和SQL有关的一切程序或者组建
3。注册表清理():
3.1彻底删除SQL Server:
hkey_local_machine\software\Microsoft\MSSQLServer hkey_local_machine\software\Microsoft\Microsoft SQL Server hkey_current_user\software\Microsoft\Microsoft SQL Server hkey_current_user\software\Microsoft\MSSQLServer hkey_local_machine\system\currentcontrolset\control\sessionmanager\pendingfileren ameoperations
3.2注册表中的相关信息删除:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC。
3.3 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目
3.4 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\setup
删除ExceptionComponents
3.5运行注册表,删除如下项:
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer

⑼ sql的数据库复制怎么弄难道就是备份再还原

你可以备份一个,然后还原的时候把名字改成别的
第二种办法,就是把mdf脱机了,然后复制一份
第三种,你可以把数据库生成脚本语句,然后在你需要的地方执行