vbs版sql查询分析器lcx作品_vbs

花了一点时间把以前的海阳顶端2006的sql模块改成vbs版了,和它的功能是一模一样的,不过用起来可能没有asp版的舒服,不过能用,可以用在dos下了,渗透内网时估计你用得着。

if (lcase(right(wscript.fullname,11))="wscript.exe") then
echo "Execute it under the cmd.exe Plz! Thx."
echo "code by lcx"
wscript.quit
end If

if wscript.arguments.count<1 then
echo "Usage: cscript sql.vbs showTables e:\hytop.mdb或sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs;"
echo "usage: cscript sql.vbs query 连接字符串 <表名=default:""""> sql语句 <页数=default:1>"
echo "exp:cscript sql.vbs showTables "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)
echo "exp:cscript sql.vbs query "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)&Space(1) &Chr(34)&Chr(34)&Space(1)&Chr(34)&"select * from name"&chr(34)&Space(1) & 1
echo "exp:cscript sql.vbs query "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)&Space(1) &Chr(34)&Chr(34)&Space(1)&Chr(34)&"update....."&chr(34)&Space(1) & 1
echo "exp:cscript sql.vbs query "&Chr(34)&"sql:Provider=SQLOLEDB.1;Server=localhost;User ID=sa;Password=haiyangtop;Database=bbs"&Chr(34)&Space(1) &Chr(34)&Chr(34)&Space(1)&Chr(34)&"exec master.dbo.xp_cmdshell 'net user ice hacker /add'--"&chr(34)&Space(1) & 1
end If

Sub chkErr(Err)
If Err Then
echo "错误: " & Err.Description & "错误源: " & Err.Source & vbcrlf
Err.Clear
wscript.quit
End If
End Sub

Sub echo(str)
wscript.echo str
End Sub

Function fixNull(str)
If IsNull(str) Then
str = " "
End If
fixNull = str
End Function

Sub showErr(str)
Dim i, arrayStr
arrayStr = Split(str, "$$")
echo "出错信息:"&vbcrlf
For i = 0 To UBound(arrayStr)
echo (i + 1) & ". " & arrayStr(i) & "<br/>"
Next
echo vbcrlf
wscript.quit
End Sub

Rem =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rem 下面是程序模块选择部分
Rem =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

PageMsDataBase()

Sub pageMsDataBase()
Dim theAct, sqlStr
theAct = Wscript.Arguments(0)
sqlStr = Wscript.Arguments(1)

Select Case theAct
Case "showTables"
showTables()
Case "query"
showQuery()

End Select

End Sub

Sub showTables()

Dim conn, sqlStr, rsTable, rsColumn, connStr, tablesStr
sqlStr = Wscript.Arguments(1)
If LCase(Left(sqlStr, 4)) = "sql:" Then
connStr = Mid(sqlStr, 5)
Else
connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & sqlStr
End If
Set conn = CreateObject("Adodb.Connection")

conn.Open connStr
chkErr(Err)

tablesStr = getTableList(conn, sqlStr, rsTable)

echo tablesStr & "================================================="

Do Until rsTable.Eof
Set rsColumn = conn.OpenSchema(4, Array(Empty, Empty, rsTable("Table_Name").value))
echo rsTable("Table_Name") &vbcrlf

Do Until rsColumn.Eof

echo "字段名:" & rsColumn("Column_Name")&vbclrf
echo "类型:" & getDataType(rsColumn("Data_Type")) & vbclrf
echo "大小:" & rsColumn("Character_Maximum_Length") & vbclrf
echo "精度:" & rsColumn("Numeric_Precision") & vbclrf
echo "允许为空:" & rsColumn("Is_Nullable") & vbclrf
echo "默认值:" & rsColumn("Column_Default") & vbclrf&vbclrf
rsColumn.MoveNext

Loop

rsTable.MoveNext
echo vbcrlf
Loop

echo "==============================================================="

conn.Close
Set conn = Nothing
Set rsTable = Nothing
Set rsColumn = Nothing
End Sub

Sub showQuery()

Dim i, j, rs, sql, page, conn, sqlStr, connStr, rsTable, tablesStr, theTable

sqlStr = Wscript.Arguments(1)
theTable = Wscript.Arguments(2)
sql=Wscript.Arguments(3)
page=Wscript.Arguments(4)

If Not IsNumeric(page) or page = "" Then
page = 1
End If

If LCase(Left(sqlStr, 4)) = "sql:" Then
connStr = Mid(sqlStr, 5)
Else
connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & sqlStr
End If
Set rs = CreateObject("Adodb.RecordSet")
Set conn = CreateObject("Adodb.Connection")

conn.Open connStr
chkErr(Err)

tablesStr = getTableList(conn, sqlStr, rsTable)

echo "数据库表结构查看:"
echo tablesStr & "========================================================"
echo ">SQL命令执行及查看<:"&vbcrlf
If sql <> "" And Left(LCase(sql), 7) = "select " Then
rs.Open sql, conn, 1, 1
chkErr(Err)
rs.PageSize = 20
If Not rs.Eof Then
rs.AbsolutePage = page
End If
If rs.Fields.Count>0 Then
echo "SQL操作 - 执行结果"&vbcrlf
echo "===================="&theTable&"列名如下========================================"
For j = 0 To rs.Fields.Count-1
echo rs.Fields(j).Name & vbcrlf
Next
For i = 1 To 20
If rs.Eof Then
Exit For
End If

For j = 0 To rs.Fields.Count-1
echo fixNull(rs(j))& vbcrlf
Next

rs.MoveNext
Next
End If
echo "================================================================="
echo " 共有"&rs.Fields.Count&"列" & vbcrlf
For i = 1 To rs.PageCount
page=i

Next
echo " 共有" & page & "页"
rs.Close
Else
If sql <> "" Then
conn.Execute(sql)
chkErr(Err)
echo "执行完毕!"&vbcrlf
End If
End If

conn.Close
Set rs = Nothing
Set conn = Nothing
Set rsTable = Nothing
End Sub

Function getDataType(typeId)
Select Case typeId
Case 130
getDataType = "文本"
Case 2
getDataType = "整型"
Case 3
getDataType = "长整型"
Case 7
getDataType = "日期/时间"
Case 5
getDataType = "双精度型"
Case 11
getDataType = "是/否"
Case 128
getDataType = "OLE 对象"
Case Else
getDataType = typeId
End Select
End Function

Function getTableList(conn, sqlStr, rsTable)
Set rsTable = conn.OpenSchema(20, Array(Empty, Empty, Empty, "table"))
echo "存在以下表名:"
Do Until rsTable.Eof
getTableList = getTableList & "["& rsTable("Table_Name") & "]"&vbcrlf
rsTable.MoveNext
Loop
rsTable.MoveFirst
End Function

时间: 2024-09-23 00:15:46

vbs版sql查询分析器lcx作品_vbs的相关文章

SQL查询分析器清除被注入恶意病毒代码

在SQL查询分析器执行以下代码就可以了. 01.declare @t varchar(255),@c varchar(255) 02.declare table_cursor cursor for select a.name,b.name 03.from sysobjects a,syscolumns b ,systypes c 04.where a.id=b.id and a.xtype='u' and c.name 05.in ('char', 'nchar', 'nvarchar', 'v

SQL Server 查询分析器快捷键集合

下表列出 SQL Server 查询分析器提供的所有键盘快捷方式. 活动 快捷方式 书签:清除所有书签. CTRL-SHIFT-F2 书签:插入或删除书签(切换). CTRL+F2 书签:移动到下一个书签. F2 功能键 书签:移动到上一个书签. SHIFT+F2 取消查询. ALT+BREAK 连接:连接. CTRL+O 连接:断开连接. CTRL+F4 连接:断开连接并关闭子窗口. CTRL+F4 数据库对象信息. ALT+F1 编辑:清除活动的编辑器窗格. CTRL+SHIFT+DEL 编

Navicat for SQL 的查询分析器可以调用,程序MySqlCommand调用失败 这是一个坑吗???

问题描述 INSERTINTOiv_invoicehead(DJBH,SHR,DPJC,ZFJE,FPTT,CKMC,CreateTime)Values('DD00102637','俞继红','21克天猫旗舰店','299.0000','俞继红','正品仓',NOW());SET@v_ID=last_insert_id();INSERTINTOiv_invoiceitems(HeadID,SPDM,SPMC,SJDJ,SJJE,BZJE,ZK,SL,BZ,ZL,HJZL)Values(@v_ID

[SQL]啊?!查询分析器的BUG?!

查询分析 当我们用SQL Server的查询分析器察看一张表时,竟然看到了这样的记录: 奇怪之处就在于"ReceiveTime"字段明明是datetime类型,怎么可能是"62016004"这个数字呢? SQL Server怎么会让这种数字插入呢?即使我们的程序写错了,想往记录里插,那也会得到异常的呀? 还是做数据仓库的有经验,说可能是查询分析器的BUG. 用VBScript写了一个查询的例子,把这条记录的每一个字段报告出来,果然!   结论: 确实是微软的查询分析

查询分析器登陆非默认端口的远程Sql Server

server|查询分析 这几天在搞Web开发的时候,经常需要连接Sql Server ,但是Sql Server是internet上的服务器,服务商就给了一段SqlConnectionString,但是在连接串中发现Sql服务器并没有使用默认的1433端口,于是乎就想查询分析器应该登陆不了,结果验证了我的想法是对的.这样的话要想就只能在程序中写个简单的Sql执行程序,方法很笨不直观.操作作困难.容易发生异常.数据库维护困难..基于这么多的缺陷,决定放弃这种笨拙的方式,在网上用了很多关键字仍然找不

使用查询分析器调整SQL服务器脚本

查询分析|服务器|脚本 我喜欢把SQL服务器所捆绑的工具看作是倒金字塔型的,诊断和检查一般问题的工具在顶端,寻找和诊断问题具体区域的工具在底部.除了提供一种编写SQL脚本的便捷方式之外,在你需要解决特定SQL脚本里明确问题的时候,查询分析器(Query Analyzer)还是所需要使用的资源.如果你需要指出哪个查询正在保持着某个特定表格的锁定状态,你也会希望使用查询分析器. 查询分析器的关键诊断特性是它能够显示某个查询的执行计划.这个执行计划会向你提供各种类型的有用信息,例如在查询的执行期间如何

SQL Server企业管理器和查询分析器

如果主数据库发生故障,那么微软的SQL Server可能会怦然倒下.看看如何面对这种事件,了解如何用企业管理器和查询分析器修复主数据库. 作为一名微软SQL Server的管理员,您必须知道如何修复一个崩溃的主数据库.主数据库保存有您的登录信息,以及最重要的.指向您所有数据库的指针.如果没有主数据库,您就无法成功地启动SQL Server.在本文里,我将向您介绍在发生崩溃的情况下如何修复主数据库,并告诉您如何重建主数据库,如果有必要的话. 制定预案 制定一个应对崩溃和/或主数据库故障的预案十分重

通过查询分析器对比SQL语句执行效率

可以方便地对不同的SQL语句进行效率对比.首先打开查询分析器,将查询菜单中的"显示执行计划"."显示服务器跟踪"."显示客户统计"都选中. 在编辑窗口中输入要进行对比的SQL语句,比如不同方式的查询: SELECT *FROM CRM_FWDWHERE RQ BETWEEN '2006-06-01' AND '2006-06-02'SELECT *FROM CRM_FWDWHERE DATEDIFF(DAY, RQ, '2006-06-01')

《PHP和MySQL Web开发从新手到高手(第5版)》一一2.2 使用phpMyAdmin运行SQL查询

2.2 使用phpMyAdmin运行SQL查询 PHP和MySQL Web开发从新手到高手(第5版) 如同Web服务器设计响应来自客户端(一个Web浏览器)的请求一样,MySQL数据库服务器会响应来自客户端程序(client programs)的请求.在本书稍后的内容中,我们将以PHP脚本的形式编写自己的MySQL客户端程序.但是现在,我们可以使用XAMPP和MAMP二者都有的一个客户端程序,这就是phpMyAdmin. phpMyAdmin本身是用PHP编写的.一个高级的Web应用程序.除了包