一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

ASP.NET調(diào)用.sql文件(二)

  筆者前一陣子發(fā)表了一篇《ASP.NET調(diào)用.sql文件》文章,主要是是解決數(shù)據(jù)庫(kù)配置,減去傳統(tǒng)手工附加數(shù)據(jù)庫(kù)和自己改寫(xiě)web.config文件等等這些復(fù)雜的過(guò)程,而是配置的向?qū)АF渲薪o出關(guān)鍵的技術(shù)知識(shí)點(diǎn),就是通過(guò)sql數(shù)據(jù)庫(kù)生成數(shù)據(jù)庫(kù)腳本即.sql文件,然后通過(guò)調(diào)用osql.exe來(lái)執(zhí)行.sql文件。

  這里,園友首先質(zhì)疑了其安全性,認(rèn)為程序存在被他人利用的危險(xiǎn)。筆者對(duì)這方面沒(méi)有太多經(jīng)驗(yàn),希望來(lái)位高人講講這方面的知識(shí)或者演示被利用的過(guò)程。所以這塊還是一個(gè)未知的領(lǐng)域,筆者也不敢保證絕對(duì)安全,但是至少目前來(lái)沒(méi)有提出具體的實(shí)例來(lái)說(shuō)有危險(xiǎn)。

  其次園友提出了本機(jī)器上沒(méi)有數(shù)據(jù)庫(kù)的可能性,即程序在一臺(tái)服務(wù)器,數(shù)據(jù)庫(kù)在另外一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器上,確實(shí)如果沒(méi)有數(shù)據(jù)庫(kù)那么上篇文章提到方法就落空了。但是筆者認(rèn)為這種可能性比較小,因?yàn)檫@種可能性只有說(shuō)明程序非常大,而且應(yīng)該是定制軟件團(tuán)隊(duì)親自派人過(guò)去配置。

  然后筆者在后來(lái)調(diào)試程序發(fā)現(xiàn),按上篇文章配置數(shù)據(jù)庫(kù)發(fā)現(xiàn)缺失部分存儲(chǔ)過(guò)程。筆者的數(shù)據(jù)庫(kù)里內(nèi)容大致分為(數(shù)據(jù)表,函數(shù),視圖,存儲(chǔ)過(guò)程,數(shù)據(jù))這5個(gè)部分,由于存儲(chǔ)過(guò)程很多所以開(kāi)始沒(méi)有發(fā)現(xiàn)。細(xì)致找下原因發(fā)現(xiàn)存儲(chǔ)過(guò)程中部分程序代碼里包含中文字符,而調(diào)用osql.exe其實(shí)就是在cmd控制臺(tái)里執(zhí)行,cmd不支持中文,所以造成部分存儲(chǔ)過(guò)程丟失。期間當(dāng)然上網(wǎng)查找解決方法,首先想到的是通過(guò)來(lái)轉(zhuǎn)換編碼方式,經(jīng)過(guò)調(diào)試發(fā)現(xiàn)不能解決。

  所以最后解決方法只有兩種:第一將中文字符轉(zhuǎn)換為英文字符,這點(diǎn)不可能。第一中文字符比較多,這里數(shù)據(jù)與程序?qū)?yīng),這里修改意味著程序里也要對(duì)應(yīng)的修改,工作量比較大。那么第二種就是通過(guò)程序來(lái)向sql里建立(函數(shù),視圖,存儲(chǔ)過(guò)程)。例如:存儲(chǔ)過(guò)程是數(shù)據(jù)庫(kù)里倒出來(lái)的。具體格式為

USE [magazinedb]
GO
/****** Object: StoredProcedure [dbo].[Update_MagazineInformation_HZJ] Script Date: 11/25/2010 10:25:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--更新雜志信息
create procedure [dbo].[Update_MagazineInformation_HZJ]
(
@TabName varchar(20),
@TypeID decimal,
@TypeName varchar(20),
@TypeRemark varchar(100),
@TypeDate datetime
)
as
begin
exec('
update
'+@TabName+' set [name]='''+@TypeName+''',Remark='''+@TypeRemark+''',Date='''+@TypeDate+'''
where ID=
'''+@TypeID+'''
')
end
GO
/****** Object: StoredProcedure [dbo].[UP_UserLogin_userPwd_LX] Script Date: 11/25/2010 10:25:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UP_UserLogin_userPwd_LX]
@loginId DECIMAL,
@oldUserPwd VARCHAR(60),
@newUserPwd VARCHAR(60),
@result INT OUTPUT
AS
BEGIN
DECLARE @pwd VARCHAR(60)
SELECT @pwd = userPwd FROM magazineDB..UserLogin WHERE loginId = @loginId
IF @pwd <> @oldUserPwd
SET @result = 0
ELSE
BEGIN
UPDATE magazineDB..UserLogin SET userPwd = @newUserPwd WHERE loginId = @loginId
SET @result = 1
END
END
GO
/****** Object: StoredProcedure [dbo].[UP_UserLogin_SeekPwd_GW] Script Date: 11/25/2010 10:25:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create PROCEDURE [dbo].[UP_UserLogin_SeekPwd_GW]
@loginId DECIMAL,
@newUserPwd VARCHAR(60)
AS
BEGIN
UPDATE magazineDB..UserLogin SET userPwd = @newUserPwd WHERE loginId = @loginId
END
GO
/****** Object: StoredProcedure [dbo].[UP_user_readState_LX] Script Date: 11/25/2010 10:25:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UP_user_readState_LX]
@userID DECIMAL,
@readState VARCHAR(20)
AS
BEGIN
UPDATE magazineDB..[user] SET readState = @readState WHERE userID = @userID
END
GO
。。。
。。。

NET技術(shù)ASP.NET調(diào)用.sql文件(二),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品美女久久久久网站 | 午夜精品久视频在线观看 | 青青久久久国产线免观 | 正在播放一区二区 | 日韩美女在线视频 | 激情视频激情图片激情小说 | 国产一级成人毛片 | 在线免费观看黄色网址 | 中文字幕在线观看国产 | 狠狠五月婷婷 | 久久韩国精品韩国专区 | 大香伊人久久精品一区二区 | 亚洲毛片视频 | 国产亚洲精品福利在线 | 国产手机精品自拍视频 | 女人18毛片免费视频播放 | 九九视频国产 | 色天使色护士 在线视频观看 | 国产色在线视频 | 国产激烈床戏无遮挡网站 | 午夜精品视频在线看 | 日本亚洲精品色婷婷在线影院 | 国产一区在线观看免费 | 亚洲国产www| 久久国内精品自在自线观看 | 亚洲第一页视频 | 91精品久久久久久久久久 | 久久精品久久久久 | 99在线精品国产不卡在线观看 | 色综合久久88色综合天天 | 91精品视频网站 | 国产一区二区高清在线 | 久久久久一 | 理论片 我不卡影院 | 久久精品国产91久久综合麻豆自制 | 亚色中文 | 亚洲国产精品久久久天堂麻豆 | 日产国产精品久久久久久 | 伊人久久中文字幕 | 岛国美女全棵写真视频在线观看 | 日本一区二区三区在线网 |