Posted on 2008-06-16 19:11
代码乱了 阅读(2837)
评论(61) 编辑 收藏 所属分类:
SQL Server
Feedback
请问楼主, 这个SQL PROMPT 我为什么不能用啊
我的是 SQL 2000 简体中文标准版。
我打开 查询分析器后, 用的时候和原来没区别,啥也没有。
sql prompt 我已经启动了
@sjm
关于你的问题,由于我没有SQL 2000 简体中文的环境,所以不能确切的回答。
你仔细找找工具菜单,另外看看sql prompt 任务栏右下角的有没有图标,有的话再看看是不是已经启用了,有可能是被禁用了。
我记得早期的sql prompt 版本是不能在SQL 2000 简体中文的环境下跑的,需要修改成英文环境,新版本应该是解决了这个问题的,不确定,呵呵
楼主,我用您最新的dll现在出现下图的情况,我把日期改为7月份后,然后在改为6月份后,就不能用了,您原来的那个dll是可以用,但是不能用格式化功能,我怀疑和原来那个代码有关系,我但和下面这段有关系WMIDeactivateMachineHash 下面的这段代码也是时间限制
if ((licence.a() > DateTime.MinValue) && (licence.a() < DateTime.Now))
{
byte[] buffer2;
licence.TrialStatus = TrialStatus.Tampered;
using (MemoryStream stream = new MemoryStream())
{
licence.Serialize(stream);
buffer2 = stream.ToArray();
}

我装了个,这个工具确实很好.
但是破解没有办法运行.(替换RedGate.Licensing.Client.dll后),不知是什么原因
@高海东
我这里没有问题啊,我在好几台过期了的机器上测试都没有发现有问题啊,你用
Reflector反编译看一下这个dll是不是和我文章中说的一致的
@okwell
请把错误信息,或者截图,或者文字描述,发上来,我好看是什么原因
我反编译看您的代码这里的代码是这样的
public int DaysLeftInTrial
{
get
{
int days;
if (this.TrialStatus != TrialStatus.InTrial)
{
return 0;
}
if (this.d == DateTime.MinValue)
{
TimeSpan span = DateTime.UtcNow.Subtract(this.b);
days = 14 - span.Days;
}
else
{
days = this.d.Subtract(DateTime.UtcNow).Days;
}
if (days < 0)
{
days = 8;
}
return days;
}
}
对,没有问题啊,你再试试,刚刚我又反复的在我的电脑上试了,先用原始的dll让SQL Prompt过期,让后把我最新的这个dll覆盖,一样可以用
Dear g,
My job is to make sure that your evaluation of Red Gate SQL Server tools is a success.
If you don't like the way your copy of SQL Prompt is set up, then you can find information on how to change the most popular options at:
http://www.red-gate.com/products/SQL_Prompt/options.htm
If you have any technical or other questions about the tools, please contact me.
Regards,
Tom Austin
我这里是怎么都不能运行的,看来是没有办法了
楼主你麻烦您在检查下,我这里出现的环境是这样的,我先安装了试用版的sql prompt,看了下试用期是14天,而且功能都可以用,让后我把系统日期改的延后了,在看看发现功能都不能用了。在把系统日期该回来功能还是不能用,这时候我用您的破解dll覆盖后,功能还是我上面出现的问题不能用,卸载后重装问题依旧,我感觉这个工具肯定在哪里记住这个日期了,你看看能解决这个问题不,很想和你叫个朋友,我的邮箱是ghd258@gmail.com,可以把你的联系方式qq或者msn发到我邮箱吗?谢谢
感谢博主!!!
前面两个破解都不行,这个破解终于OK!!!!
用破解的RedGate.Licensing.Client.dll替换后,启动,硬盘灯闪了几下,没有其它的反应.没有弹出报错的对话框等.进程没有启动.
还原RedGate.Licensing.Client.dll后是可以用的.
我.net环境是v1.1.4322和v2.0.50727
@老刘。。。
错误提示信息是?比如启动SQL Server后
感谢楼主,我按照楼主的思路,破解OK。
这里将破解遇到的问题与大家分享:
1.一定要先去除强命名,否则即时破解dll也无法使用
2.破解dll当时,如果软件没有过期,直接修改get_DaysLeftInTrial():Int32即可,IL代码主要修改IL_002e行:
.method public hidebysig specialname instance int32
get_DaysLeftInTrial() cil managed
{
// Code size 50 (0x32)
.maxstack 8
.locals init (valuetype [mscorlib]System.TimeSpan V_0,
int32 V_1,
valuetype [mscorlib]System.DateTime V_2)
IL_0000: ldarg.0
IL_0001: call instance valuetype RedGate.Licensing.Client.TrialStatus RedGate.Licensing.Client.Licence::get_TrialStatus()
IL_0006: ldc.i4.1
IL_0007: beq.s IL_000b
IL_0009: ldc.i4.0
IL_000a: ret
IL_000b: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_UtcNow()
IL_0010: stloc.2
IL_0011: ldloca.s V_2
IL_0013: ldarg.0
IL_0014: ldfld valuetype [mscorlib]System.DateTime RedGate.Licensing.Client.Licence::_2
IL_0019: call instance valuetype [mscorlib]System.TimeSpan [mscorlib]System.DateTime::Subtract(valuetype [mscorlib]System.DateTime)
IL_001e: stloc.0
IL_001f: ldc.i4.s 14
IL_0021: ldloca.s V_0
IL_0023: call instance int32 [mscorlib]System.TimeSpan::get_Days()
IL_0028: sub
IL_0029: stloc.1
IL_002a: ldloc.1
IL_002b: ldc.i4.0
IL_002c: bge.s IL_0030
IL_002e: ldc.i4.8 //原來是ldc.i4.0,及num=0,這裡改成num=8
IL_002f: stloc.1
IL_0030: ldloc.1
IL_0031: ret
} // end of method Licence::get_DaysLeftInTrial
如果已经过期,那就要修改get_TrialStatus():TrialStatus
.method public hidebysig specialname instance valuetype RedGate.Licensing.Client.TrialStatus
get_TrialStatus() cil managed
{
// Code size 2 (0x2)
.maxstack 8
IL_0000: ldc.i4.1 //這裡原來是ldfld valuetype RedGate.Licensing.Client.TrialStatus RedGate.Licensing.Client.Licence::_1 返回軟件的狀態,修改之後强制返回試用中的狀態
IL_0001: ret
} // end of method Licence::get_TrialStatus
@wjf
没错,我发布dll的和你的一样的,奇怪的是我没有去掉强命名也能用
顺便说一下,如果不能用的兄弟去掉强命名试试看.
其实还漏掉一点:
if (days < 0)
{
days = 14;
}
return days;
当days 刚好为0的时候,可能就不能用了,所以最好改成
return 14;
我试用了一下,用破解的RedGate.Licensing.Client.dll替换后,启动,硬盘灯闪了几下,没有其它的反应.没有弹出报错的对话框等.进程没有启动.
还原RedGate.Licensing.Client.dll后是可以用的. 用sql的管理器启动时提示sqlprompt加载出错,是否禁用。是不是有这种情况,我的sqlprompt是从网上刚下的SQL Prompt 3.8.0.244.exe,是不是这个破解针对的版本不一致。我用的.net2.0 sql2005。
或者老兄把你用的sql promt的版本共享一下,是不是大家一致了就没问题了?
在SQL Server看一下你们的版本是不是3.81.0.0
楼主你是不是在发第一次破解时已经去掉强命名了?我一开始下你的dll覆盖后是不行的,后来自己破解dll后也是不行的,最后去掉强命名就ok了。
另外,如果把get_DaysLeftInTrial()里面原代码全移除,直接return一个大于0的数字,应该可行吧 ^_^
使用这个补丁后提示 SQL Prompt 3遇到问题需要关闭。打不开了。
我用它自带的Check for Updates检测过了,提示是最新版本3.81.0.0
弱弱的再问一句老大,我从官网上怎么下装的的版本都是3.8.0.244,但是检查更新时提示是最新版本,看类库的发布时间是4月22号。你们从哪下载的3.8.1呀,给我发一份zzwangsw@163.com,谢了。
@悠悠过客
有点大,不好发,你去官网下载的是不是SQL Toolbelt™ ?如果不是
请在这里下载:
http://downloads.red-gate.com/SQLToolbelt.exe
那就算了,这个版本我也下了,装上还一样。我按老大的方法尝试自己破解算了。谢了。
把系统日期延后修改至几个月,让sqlprompt过期,然后直接覆盖dll,貌似破解通过了! testing
打完补丁后我的问题是提示:sql prompt3 遇到问题需要关闭,…………。用原来的dll恢复过来我好的。我的是win2003+vs2005+sql2000
@老破
可能是你的sql prompt的版本问题,一定要3.8的
我是从你文章的链接过去下的。而且的确显示版本是3.81的。
请教,怎么对已有的SQL语句进行格式化?就是让sql布局格式化,例如完整的缩进、关键字小写转变大写等等,我没找到有关的功能。
覆盖后运行时提示:遇到问题需要关闭.
是什么原因呢?
@windy8848
需要你自己去掉强命名,这是必须的
菜鸟发问,大虾莫烦:)
还是不大清楚去除强命名是如何操作的,大虾能否写个稍详细点的实际操作文章呢?感谢!
搜了下关于VS 命令窗口的,也试了下,但还是不明白如何操作:(
@
具体去掉强命名的方法是:
进入Vs2005或VS 2008的命令提示窗体,
cd dll所在的安装路径
sn -Vr RedGate.Licensing.Client.dll
或者 sn -Vr "x:\xxxx\RedGate.Licensing.Client.dll"
x:\xxxx表示dll所在的路径
可以通过把dll拖拽到命令提示窗口,这样文件名就不用你去输入了,其实这些都是很基础的东西啊
但是执行时呢?直接回车执行还是怎么样呢?
我执行回车执行时,提示cd 或 sn 命令不存在呢
如下所示:
>sn -Vr "C:\Program Files\Red Gate\SQL Prompt 3\RedGate.Licensing.Client.dll"
命令“sn”无效。
>cd C:\Program Files\Red Gate\SQL Prompt 3\
命令“cd”无效。
>cd "C:\Program Files\Red Gate\SQL Prompt 3\"
命令“cd”无效。
>
@windy8848
如果VS2008的命令窗口不行,请改到VS2005的命令窗口
@爱在戏院前
格式化js的插件,我自己倒是写了一个,
只是这个插件就一个功能:格式化js的插件
不好意思放出来啊
lz您好:发现vs下命令提示符下没有sn.exe这个程序
后来我查了一下Microsoft Visual Studio 8\SDK\v2.0\Bin目录下面有个
StartTools.htm文件,详细介绍了framework下的工具,我发现我的bin目录下很多执行的exe文件都没有,只有genasm.exe ; mage.exe ; mt.exe
nmake.exe, 这四个exe文件根本没有其它的exe文件,显然没有sn.exe这个文件。后来在bin目录下有个sdkvars.bat的文件,是配置framework工具的环境变量的,运行了,也提示sn 没有这个命令
后来.net framework 2.0我重装了在sdk\v2.0\bin下还是同上面描述的一样,没有sn这个命令,lz我是安装vs2005哪个地方配置错了么?
多谢lz了,发现前面也有几位同志说没有sn这个命令的。
@BeautyLogic
估计你安装的时候没有选择SDK工具
你可以在网上搜一下sn.exe只要.net 2.0以上的都可以
@代码乱了,偶从别人的机器里面copy了sn.exe,可以运行,
偶的sdk肯定是安装了啊,不然怎么开发.net程序啊,谢谢lz啊
@flyhong
我也注意到了,最近比较忙,没有时间弄,弄好了会发上来大家分享
LS能不能把去掉強命在命名的圖發也載一個上來呀。搞了一個晚上都不行。鬱悶呀!