急急急,100分求救,我的SQL在本地可以查出记录,服器2003上布置了,出不来记录,数据库是附加的。。。。

ljydomybest 2009-04-03 10:18:17
急急急,100分求救,我的SQL在本地可以查出记录,服器2003上布置了,出不来记录,数据库是附加的。。。。
...全文
129 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Teng_s2000 2009-04-03
  • 打赏
  • 举报
回复
lz确信你的数据库连接字符串没有写错,写的程序代码都没有错吗?
claro 2009-04-03
  • 打赏
  • 举报
回复
楼主把环境说一下。
--比如
select @@version
SELECT
dtb.collation_name AS [Collation],
dtb.name AS [DatabaseName2]
FROM
master.sys.databases AS dtb
WHERE
(dtb.name=N'master')
ljydomybest 2009-04-03
  • 打赏
  • 举报
回复
sdhdy

不是不同服务器是本地测试了在服务器2003上布署
ljydomybest 2009-04-03
  • 打赏
  • 举报
回复
显示结果:
编号 投诉问题 问题类别 投诉时间 处理状态 办结时间 回复数
莼没屑录!


本地:
编号 投诉问题 问题类别 投诉时间 处理状态 办结时间 回复数
19 dfs 教育乱收费 2009-1-8 16:12:33 办理中 2009-1-8 16:12:33 1
17 某某人(单位)地某某 侵害农民权益,加重农民负担 2008-11-4 15:11:52 已处理 2008-11-4 15:40:35
ljydomybest 2009-04-03
  • 打赏
  • 举报
回复
显示结果:
编号 投诉问题 问题类别 投诉时间 处理状态 办结时间 回复数
莼没屑录!


本地:
编号 投诉问题 问题类别 投诉时间 处理状态 办结时间 回复数
19 dfs 教育乱收费 2009-1-8 16:12:33 办理中 2009-1-8 16:12:33 1
17 某某人(单位)地某某 侵害农民权益,加重农民负担 2008-11-4 15:11:52 已处理 2008-11-4 15:40:35
sdhdy 2009-04-03
  • 打赏
  • 举报
回复
和数据库是否附加没关系的。
--不同服务器数据库之间的数据操作
--************************************************************************************
1、--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '


2、启动两台服务器的MSDTC服务
MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。

3、打开双方的135端口
MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。
使用“telnet IP 135”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放


4、--如要创建触发器
create trigger t_test on test
for insert,update,delete
as
--加上下面两句,否则会提示新事务不能登记到指定事务处理器
set xact_abort on
begin distributed tran
delete from openrowset('sqloledb','xz';'sa';'',test.dbo.test)
where id in(select id from deleted)
insert into openrowset('sqloledb','xz';'sa';'',test.dbo.test)
select * from inserted
commit tran

--查询示例
select * from ITSV.数据库名.dbo.表名

--导入示例
select * into 表 from ITSV.数据库名.dbo.表名

--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '
--**************************************************************************************

--连接远程/局域网数据(openrowset/openquery/opendatasource)

--**************************************************************************************
--1、openrowset

--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表

--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1

--2、openquery

--首先创建一个连接创建链接服务器

exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select * FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A

--3、opendatasource

SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名
select * from 本地表
Teng_s2000 2009-04-03
  • 打赏
  • 举报
回复
如果SQL也能连接上,也不报错,就是查询不出数据来

只有检查你写的代码了
ljydomybest 2009-04-03
  • 打赏
  • 举报
回复
本地完全正常,,服器看了也有
Teng_s2000 2009-04-03
  • 打赏
  • 举报
回复
到Sql Server执行一下,看看能查询出数据来吗?

出不来数据也不抱错吗?
ljydomybest 2009-04-03
  • 打赏
  • 举报
回复
绝对有,管理器里有数据。。。
Zoezs 2009-04-03
  • 打赏
  • 举报
回复
你确定数据库附加成功了?
找到那个要查的数据库,看看有没信息。
ljydomybest 2009-04-03
  • 打赏
  • 举报
回复
感谢大家捧场:<问题解决!( 不是数据库问题是ASP页面问题)>:
Utf-8和Gb2312乱码问题的终结 
作者:麦麦 日期:2006-12-19
^_^ 建议使用中号字体阅读,字体大小: [大] [中] [小] [打印本页]
[space]当同一个空间里放了不同编码的程序后,有一些编码的程序,在从数据库里读取数据的时候,就会显示乱码,真的很恼火,后来在根据网友lokion提供的资料后,总算解决了问题,现在把这些资料整理后贴出来,以作参考,比如以我的空间为例子,空间结构如下:
└─WWWROOT(http://www.im321.com)
├─blog (UTF8编码)
├─web (GB2312编码)
├─Other (其他GB2312编码程序)
[space]当访问Blog程序的时候一切正常,因为UTF8就象一种万能编码一样。访问web首页的时候,也正常,因为我的web中的首页是静态的index.html,所以显示也没有问题,但是在后台管理的时候,从数据库中获取的数据都是乱码,即使使用刷新或者右键指定编码仍然是乱码。lokion的方法如下:
引用内容

<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=65001%>UTF-8
<%@ codepage=437 %>美国/加拿大英语
<%@ codepage=932 %>日文
<%@ codepage=949 %>韩文
<%@ codepage=866 %>俄文

...
codepage指定了IIS按什么编码读取传递过来的串串(表单提交,地址栏传递等)。出乱码的原因也就是网站要整合的时候模块编码不一样引起的。
不要转换任何模块网页的编码该utf-8的还是utf-8,该Gb22312的还是Gb2312
在Utf-8模块的包文件(如conn.asp,但是要注意conn.asp必须是在第一行调用)最前面加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
在GB2312模块的包文件最前面加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
其他编码的类推。
[space]依照寡人自己空间中的程序解释一下:
经过检查,web程序的后台管理程序中,一般包含了以下程序
程序代码
<!--#include file="config.asp"-->
<!--#include file="md5.asp"-->
[space]"config.asp"是整个后台程序中第一个被调用的包含文件,原本的"config.asp"程序开始是这样的:
<%@LANGUAGE="VBSCRIPT">
现在更换为:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
[space]修改后保存,再测试,就解决了乱码问题!至于上面引用中说的在Utrf-8编码文件中加上后面两句,个人认为可以加可不加,因为乱码出现一般是utf-8以外的内容。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>

[space]另外一个解决办法:
[space]把同一编码的程序设置为一个虚拟路径,也可以解决乱码问题,寡人在本机上测试后成功。比如将LBS设置了一个虚拟路径后,其他的GB2312编码的程序都正常了。

用ultraedit给文件转码或用如下函数:
Asp中有关字符编码转换的几个函数 <%
1、'UTF转GB---将UTF8编码文字转换为GB编码文字
function UTF2GB(UTFStr)

for Dig=1 to len(UTFStr)
'如果UTF8编码文字以%开头则进行转换
if mid(UTFStr,Dig,1)="%" then
'UTF8编码文字大于8则转换为汉字
if len(UTFStr) >= Dig+8 then
GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9))
Dig=Dig+8
else
GBStr=GBStr & mid(UTFStr,Dig,1)
end if
else
GBStr=GBStr & mid(UTFStr,Dig,1)
end if
next
UTF2GB=GBStr
end function

'UTF8编码文字将转换为汉字
function ConvChinese(x)
A=split(mid(x,2),"%")
i=0
j=0
for i=0 to ubound(A)
A(i)=c16to2(A(i))
next
for i=0 to ubound(A)-1
DigS=instr(A(i),"0")
Unicode=""
for j=1 to DigS-1
if j=1 then
A(i)=right(A(i),len(A(i))-DigS)
Unicode=Unicode & A(i)
else
i=i+1
A(i)=right(A(i),len(A(i))-2)
Unicode=Unicode & A(i)
end if
next

if len(c2to16(Unicode))=4 then
ConvChinese=ConvChinese & chrw(int("&H" & c2to16(Unicode)))
else
ConvChinese=ConvChinese & chr(int("&H" & c2to16(Unicode)))
end if
next
end function

'二进制代码转换为十六进制代码
function c2to16(x)
i=1
for i=1 to len(x) step 4
c2to16=c2to16 & hex(c2to10(mid(x,i,4)))
next
end function

'二进制代码转换为十进制代码
function c2to10(x)
c2to10=0
if x="0" then exit function
i=0
for i= 0 to len(x) -1
if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i)
next
end function

'十六进制代码转换为二进制代码
function c16to2(x)
i=0
for i=1 to len(trim(x))
tempstr= c10to2(cint(int("&h" & mid(x,i,1))))
do while len(tempstr)<4
tempstr="0" & tempstr
loop
c16to2=c16to2 & tempstr
next
end function

'十进制代码转换为二进制代码
function c10to2(x)
mysign=sgn(x)
x=abs(x)
DigS=1
do
if x<2^DigS then
exit do
else
DigS=DigS+1
end if
loop
tempnum=x

i=0
for i=DigS to 1 step-1
if tempnum>=2^(i-1) then
tempnum=tempnum-2^(i-1)
c10to2=c10to2 & "1"
else
c10to2=c10to2 & "0"
end if
next
if mysign=-1 then c10to2="-" & c10to2
end function

2、'GB转UTF8--将GB编码文字转换为UTF8编码文字

Function toUTF8(szInput)
Dim wch, uch, szRet
Dim x
Dim nAsc, nAsc2, nAsc3
'如果输入参数为空,则退出函数
If szInput = "" Then
toUTF8 = szInput
Exit Function
End If
'开始转换
For x = 1 To Len(szInput)
'利用mid函数分拆GB编码文字
wch = Mid(szInput, x, 1)
'利用ascW函数返回每一个GB编码文字的Unicode字符代码
'注:asc函数返回的是ANSI 字符代码,注意区别
nAsc = AscW(wch)
If nAsc < 0 Then nAsc = nAsc + 65536

If (nAsc And &HFF80) = 0 Then
szRet = szRet & wch
Else
If (nAsc And &HF000) = 0 Then
uch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
szRet = szRet & uch
Else
'GB编码文字的Unicode字符代码在0800 - FFFF之间采用三字节模版
uch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _
Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _
Hex(nAsc And &H3F Or &H80)
szRet = szRet & uch
End If
End If
Next

toUTF8 = szRet
End Function

3、'GB转unicode---将GB编码文字转换为unicode编码文字

function chinese2unicode(Str)
dim i
dim Str_one
dim Str_unicode
if(isnull(Str)) then
exit function
end if
for i=1 to len(Str)
Str_one=Mid(Str,i,1)
Str_unicode=Str_unicode&chr(38)
Str_unicode=Str_unicode&chr(35)
Str_unicode=Str_unicode&chr(120)
Str_unicode=Str_unicode& Hex(ascw(Str_one))
Str_unicode=Str_unicode&chr(59)
next
chinese2unicode=Str_unicode
end function

4、'URL解码
Function URLDecode(enStr)
dim deStr
dim c,i,v
deStr=""
for i=1 to len(enStr)
c=Mid(enStr,i,1)
if c="%" then
v=eval("&h"+Mid(enStr,i+1,2))
if v<128 then
deStr=deStr&chr(v)
i=i+2
else
if isvalidhex(mid(enstr,i,3)) then
if isvalidhex(mid(enstr,i+3,3)) then
v=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2))
deStr=deStr&chr(v)
i=i+5
else
v=eval("&h"+Mid(enStr,i+1,2)+cstr(hex(asc(Mid(enStr,i+3,1)))))
deStr=deStr&chr(v)
i=i+3
end if
else
destr=destr&c
end if
end if
else
if c="+" then
deStr=deStr&" "
else
deStr=deStr&c
end if
end if
next
URLDecode=deStr
end function

'判断是否为有效的十六进制代码
function isvalidhex(str)
dim c
isvalidhex=true
str=ucase(str)
if len(str)<>3 then isvalidhex=false:exit function
if left(str,1)<>"%" then isvalidhex=false:exit function
c=mid(str,2,1)
if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
c=mid(str,3,1)
if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
end function
%>




posted @ 2006-02-28 22:45 缘易姿姿 阅读(931) 评论(0) 编辑 收藏 网摘 所属分类: Asp

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧