MSSQL 连接远程数据库

MSSQL 连接远程数据库,第1张

分类: 电脑/网络 >>互联网

问题描述:

本人在本地测试完网站 用的MSSQL数据库

刚开通了空间

请问如何把本地的数据库上传至服务器

越详细越傻瓜越好 谢谢

解析:

呵呵,我刚学会了,教你一招吧。

第一步:通过SQL脚本生成表结构,

可以保证本地数据库中视图、存储过程、以及表的默认值、标识、主键等属性的完整性,避免由于DTS传输引起丢失属性的问题,同时使用查询分析器执行SQL脚本,在服务器端创建表结构;

1)、请您先运行本地的企业管理器

2)、请您点击您本地的数据库点击右健-》选择生成SQL脚本

3)、选择常规-》点击全部显示,选择您想导出的脚本对象

4)、点击选项-》表脚本选项,把您所用到的脚本选中然后点击确定

5)为自己导入的.sql脚本文件命名,并保存在本地

6)、找到刚才我们保存在本地的.sql脚本文件,使用记事本打开

7)、选择编辑-》替换,把程序中所有[dbo]的字符都更改成您万网发信告知您的数据库登陆名,更换完成后保存关闭记事本

8)、通过万网通知书中的数据库登陆地址、数据库登陆名、和数据库密码,使用企业管理器连接到万网的主机服务器上,然后选择查询分析器

9)、点击打开选择刚才编辑过的.sql脚本,然后点击运行

第二步:在本地创建一个和万网主机相同权限的SQL数据库

1)、完成上面 *** 作后,请您选择数据库点击右键选择新建数据库,由于您在万网申请的是虚拟主机,万网分配的权限都是user的而不是dbo的权限,因此需要您在本地也创建一个与服务器一样的配置,以便正常完成导入 *** 作

2)、在常规-》名称处输入万网开通通知中告知您的数据库库名,然后点击确定。例如:cw01001_db

3)、选择安全性-》新建登陆

4)、在常规选择中输入名称、身份验证选择SQL Server身份验证、默认设置选择您刚刚新建的数据库

5)、在数据库访问中选中刚刚您创建的数据库,然后点击确定

6)、现在我们再回到刚才我们创建的数据库,然后点击右键-》属性

7)、选择权限,然后把相应权限赋予新建的用户名,现在我们新的数据库就已经创建完成了。下一步就是如何把老数据库中的文件导入到我们的新数据库中

第三步:将原数据库备份并还原到新创建的数据库中

1)、选择老数据库点击右键-》所有任务-》备份数据库

2)、在常规选项中-》目的中点击添加选择您需要备份出文件的位置

3)、等备份完成后,我们重新选择新数据库点击右键-》所有任务-》还原数据库

4)、在常规中选择从设备,并在参数设备中点击选择设备

5)、点击添加选择我们刚刚从老数据库中备份出来的文件,然后点击确定

6)、现在我们在还原数据库中再点击选项,把在现有数据库上强制还原选中,点击确定进行还原 *** 作,等还原完毕后我们新数据库就已经与老数据库的内容一样了,最后一步 *** 作就是把数据从新数据库中使用DTS导出协议导入到万网服务器上

第四步:通过企业管理器的DTS传输方式将本地数据导出到服务器。

1)、找到您新的数据库

2)、点击右健-》所有任务-》导出数据

3)、进入DTS导入/导出界面,直接点击下一步

4)、从选择数据源窗口中选择您本地的数据库

5)、在选择目的窗口中需要您填写服务器地址、输入万网数据库开通通知中告知您的数据库用户名和密码,等连接成功后选择万网给您开通的数据库,然后点击下一步

6)、在指定复制或查询中,您可以选择您需要导入的类型,一般为默认

7)、在选择源表和视图中,点击全选,点击下一步,这样就把您本地数据库中的文件导入到服务器上了,现在我们的导入数据库工作就已经全部完成了。

还有图片,如果你要的话,再联系我。whm8377@163

一、创建新库

/*

测试 在sql2005中通过查询分析器,连接到sql2000,并创建了 tmpdb 库:成功

p_CreateDB 'tmpdb1','data','sa','sa'

*/

-----------------------创建存储过程开始--------------------

if object_id('p_CreateDB') is not null

drop procedure p_CreateDB

go

CREATE PROCEDURE p_CreateDB

@Des_DB sysname, --目标数据库

@ServerName sysname=N'', --服务器名

@UserName sysname=N'', --用户名,不指定则表示使用 Windows 身份登录

@pwd sysname=N'' --密码

AS

SET NOCOUNT ON

DECLARE @srvid int,--服务器的对象

@dbsid int,

@Dbid int,--新建数据库对象

@DBFile int,--新建数据库DB文件

@LogFile int,--新建数据库Log文件

@CmdStr nvarchar(4000)

declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量

IF ISNULL(@ServerName,N'')=N'' SET @ServerName=@@ServerName --默认为本地数据库

--创建sqldmo对象·

EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT

IF @err<>0 GOTO lb_Err

--连接服务器

IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登录

BEGIN

EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName

END

ELSE

EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName,@UserName,@pwd

IF @err<>0 GOTO lb_Err

--新数据库对象创建

EXEC @err=sp_oacreate 'SQLDMO.Database',@Dbid OUT

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @Dbid, 'Name',@Des_DB

IF @err<>0 GOTO lb_Err

/*

---这里可以设置数据文件与日志文件的属性,不写就由sql server默认

--新数据库DB文件对象创建,并设置属性

EXEC @err=sp_oacreate 'SQLDMO.DBFile',@DBFile OUT

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @DBFile, 'Name','tmpfile'

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @DBFile, 'PhysicalName','c:/tmp.mdf'

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @DBFile, 'PrimaryFile','true'

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @DBFile, 'FileGrowthType',0

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @DBFile, 'FileGrowth',1

IF @err<>0 GOTO lb_Err

--新数据库对象加入DB文件

EXEC @err = sp_OAMethod @Dbid,'FileGroups.Item("primary").DBFiles.Add',null,@DBFile

IF @err<>0 GOTO lb_Err

--新数据库LOG文件对象创建,并设置属性

EXEC @err=sp_oacreate 'SQLDMO.LogFile',@LogFile OUT

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @LogFile, 'Name','tmplg'

IF @err<>0 GOTO lb_Err

EXEC @err=sp_oasetproperty @LogFile, 'PhysicalName','c:/tmp.ldf'

--新数据库对象加入DB文件

EXEC @err = sp_OAMethod @Dbid,'TransactionLog.LogFiles.Add',null,@LogFile

IF @err<>0 GOTO lb_Err

*/

--在服务器上创建 新数据库

EXEC @err = sp_OAMethod @srvid,'Databases.Add',null,@dbid

IF @err<>0 GOTO lb_Err

/*

EXEC @err= sp_OAGetProperty @srvid, 'Databases', @dbsid OUT

IF @err<>0 GOTO lb_Err

SET @CmdStr = 'Add'

EXEC @err = sp_OAMethod @dbsid,@CmdStr,null,@dbid

*/

--结束

SET @err=0

GOTO lb_Exit

--错误处理

lb_Err:

EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT

EXEC sp_OADestroy @LogFile

EXEC sp_OADestroy @DBFile

EXEC sp_OADestroy @Dbsid

EXEC sp_OADestroy @Dbid

EXEC sp_OADestroy @srvid

EXEC @err=sp_oamethod @srvid,'DisConnect'

RAISERROR(N'错误编号 %#x, 错误源 "%s", 错误描述 "%s"',16,1,@err,@src,@desc)

RETURN -1

lb_Exit:

EXEC sp_OADestroy @LogFile

EXEC sp_OADestroy @DBFile

EXEC sp_OADestroy @Dbsid

EXEC sp_OADestroy @Dbid

EXEC sp_OADestroy @srvid

EXEC @err=sp_oamethod @srvid,'DisConnect'

RETURN @err

GO

一、在web.config里面配置,后连接数据库

(1)web.config文件:加在<connectionStrings>和</connectionStrings>之间

三种配置方式:

1.windows身份验证,连接sql server数据库: <add name="字符串名称" connectionString="Data Source=localhostdatabase=数据库名称Integrated Security=TrueUser Instance=False" />

2.windows身份验证,连接vs数据库:<add name="字符串名称" connectionString="Data Source=.\SQLEXPRESSAttachDbFilename=|DataDirectory|\数据库名称.mdfIntegrated Security=TrueUser Instance=True" providerName="System.Data.SqlClient"/>

3.sql server身份验证,连接sql server数据库:<add name="字符串名称" connectionString="server=.\SQLEXPRESSdatabase=数据库名称uid=sapwd=liteng"/>

取字连接符串方式:

1、protected static string connectionString = ConfigurationManager.ConnectionStrings["字符串名称"].ConnectionString

2、string connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["字符串名称"].ConnectionString

(2)web.config文件:加在<appsettings>和</appsettings>之间

配置方式:

<appSettings>

<add key="conn" value="server=服务器名database=数据库名uid=用户名password=密码"/>

</appSettings>

取字连接符串方式:

string connectionString =configurationsettings.appsettings["字符串名称"]

appSettings 和 connectionStrings 的区别:

(1) appSettings 是在 2003 中常用的,connectionStrings 是在 2005 中常用的;

(2) 使用 connectionStrings 的好处:

第一,可将连接字符串加密,使用MS的一个加密工具即可;

第二,可直接绑定数据源控件,而不必写代码读出来再赋值给控件;

第三,可方便的更换数据库平台,如换为 Oracle 数据库,只需要修改 providerName。

二、直接在网页里引用,连接数据库:

1、string connString = "server=localhostdatabase=数据库名user id=用户名pwd=密码"

或者上行代码为:string connstring = "Data source=localhostdatabase=数据库名user id=用户名pwd=密码"

2、SqlConnection con = new SqlConnection(connstring)

3、con.Open()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9239638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存