¡¡¡¡Ä¿µÄ£º½«Êý¾ÝÅúÁ¿µ¼ÈëÔ¶³Ì·þÎñÆ÷
¡¡¡¡»·¾³£ºSQLÈí¼þ£¬EXCELÈí¼þ£¬VS2005Èí¼þ£¬±¾µØÁ½¸ö»úÆ÷É϶¼ÓÐSQLÊý¾Ý¿â£¬¶øÇÒÊý¾Ý´æ·ÅÔÚÆäÖÐÒ»¸ö±í¡£
¡¡¡¡²Ù×÷ʵ¼ù
¡¡¡¡1¡¢ÓÃÔ¶³ÌÊý¾Ý¿âµÄip¡¢Óû§Ãû¡¢ÃÜÂëÔÚ±¾µØµÇ¼£»
¡¡¡¡2¡¢½á¹û£¬ÆäÖÐÒ»¸ö»úÆ÷ÄܵǼ£¬Ò»¸ö²»ÄܵǼ£¨ÒÔϲÙ×÷ÔڿɵǼµÄ»úÆ÷ÉÏÍê³É£©£»
¡¡¡¡3¡¢µÚÒ»´ÎÎÒÏëͨ¹ý“µ¼Èë”·½Ê½½«±¾µØ±íÖÐÊý¾Ýµ¼µ½Ô¶³Ì·þÎñÆ÷£¬½á¹û±¾µØ»úÆ÷ÉÏ×°µÄSQLûÓГµ¼Èë”ÏÏë·¨Âä¿Õ£»
¡¡¡¡4¡¢µÚ¶þ´ÎÎÒÏëͨ¹ý½«±¾µØ±íÖÐÊý¾Ý¶Áµ½±¾µØEXCELÖУ¬È»ºóÔÙµ¼ÈëÔ¶³Ì·þÎñÆ÷µÄÊý¾Ý¿âÖУ¬½á¹û£¬³öÏÖ“OLEDBÌṩ³ÌÐò'Microsoft.Jet.OLEDB.4.0'±¨´í”£¬Ïë·¨ÔÙ´ÎÂä¿Õ£»
¡¡¡¡5¡¢µÚÈý´ÎÎÒÏëͨ¹ý½«±¾µØ±íÖÐÊý¾Ý¶Áµ½±¾µØTXTÎļþÖУ¬È»ºóÔÙµ¼ÈëÔ¶³Ì·þÎñÆ÷µÄÊý¾Ý¿âÖУ¬½á¹û£¬ÔÙSQLÖнøÐдúÂë²Ù×÷ʱ×ÜÊdzöÏÖÕâÑùÄÇÑùµÄ´íÎó£¬Ïë·¨ÓÖÒ»´ÎÂä¿Õ£»
¡¡¡¡6¡¢ÎÒÒ»¿ÌûͣµÄÊÔÁËÒ»ÌìÓÖ°ëÌ죬ûÓÐÈκνá¹û£¬¿ì±ÀÀ£ÁË£¬ÓÚÊǾö¶¨ÓÃÊÖ¶¯Ò»ÌõÌõ¼ÓµÄ±¿°ì·¨£¬´ÓÉÏÎç9µã¼Óµ½11µã£¬²ÅÌí¼Ó300À´Ìõ£¬Ò»Ë㣬ȫ²¿Ìí¼ÓÍêÐèÒª½üǧСʱ£¬ÖÕÓÚ±ÀÀ£ÁË£»
¡¡¡¡7¡¢Ö®ºóÎÒÓÖÊÔ×ÅËÑË÷£¬·¢ÏÖÒ»¸öÓóÌÐò½«±¾µØTXTÎļþÖеÄÊý¾Ýµ¼ÈëÔ¶³ÌÊý¾Ý¿âµÄ·½·¨£¬Êµ¼ù²¢µ÷ÊÔÁËÒ ......
ÔÚÆ½Ê±µÄ¹¤×÷¹ý³ÌÖУ¬×÷ΪDBA½ÇÉ«¹ÜÀíÊý¾Ý¿â£¬Í·ÄÔÖеÄÓ¡ÏóÍùÍùÊÇÊý¾Ý¿âʵÀýÃû³Æ£¬¶ø²»»áÈ¥¹ØÐÄServerµÄIP£¬¶ø×÷ΪDeveloperµÄ½ÇÉ«£¬ËûÃÇÍùÍùÏëÖªµÀÖªµÀServer IpºÍ¶Ë¿ÚºÅ¡£ËùÒÔ£¬DBA»á¾³£±»Îʼ°µ½£ºXXXʵÀýµÄIPºÍ¶Ë¿ÚºÅÊÇʲô£¿
Õâ¸öÎÊÌ⣬µ±È»ÎÒÃÇ¿ÉÒÔLoginµ½OS²é¿´IP¡¢Ê¹ÓÃÅäÖÆ¹ÜÀí¹¤¾ß»ñÈ¡µ½¶Ë¿ÚºÅ¡£µ«ÊÇ£¬Õâ¸ö·½·¨·Ç³£µÄÂé·³£¬´ï²»µ½DBA¸ßЧ¿ìËÙ·´Ó¦µÄÒªÇó¡£
ÄÇô£¬ÕâÆªÎÄÕ¾ÍÊÇΪÁ˽â¾öЧÂÊÎÊÌ⣬ʹÓÃÏÂÃæµÄSQL Script¿ÉÒÔÇáËɵĻñÈ¡µ½SQLServer IpºÍ¶Ë¿ÚºÅ¡£
USE master
GO
DECLARE @tcpEndport VARCHAR(20)
,@regeditKey VARCHAR(100)
/**Enable xp_cmdshell
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
**/
--SQLServer 2000
IF @@VERSION LIKE 'Microsoft SQL Server 2000%'--SQLServer 2000
BEGIN
SET @regeditKey= N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tc ......
select sql_text, spid, v$session.program, process
from v$sqltext, v$session, v$process
where v$sqltext.address = v$session.sql_address
and v$sqltext.hash_value = v$session.sql_hash_value
and v$session.paddr = v$process.addr
and v$process.spid in (4335);
×¢Ò⣺PIDÊÇtopÀï¿´µ½µÄ½ø³ÌID ......
public List<FirmAttachmentModel> LoadFirmAttachmentByFirmId(int FirmId, int pageIndex, int pageSize)
{
List<FirmAttachmentModel> result = new List<FirmAttachmentModel>();
SqlDataReader dataReader = null;
try
{
dataReader = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.StoredProcedure, "sp_LoadFirmAttachmentByFirmId", new SqlParameter[] { new SqlParameter("@FirmId", FirmId), new SqlParameter("@pageIndex", pageIndex), new SqlParameter("@pageSize", pageSize) });
......
SQl XmlºÍC# XmlÊý¾ÝµÄÒ»µã²Ù×÷×ܽá
ÔÚ´ËÉêÃ÷XmlÊÇInfoSetÊý¾Ý²»ÊÇ×Ö·û´®£¬ËùÒÔÔÚ´ËÇ¿ÁÒ·´¶ÔÓÃstringÆ´½Óxml¡£Êý¾Ý¿â¿ÉÒÔ´æ·ÅxmlÀàÐÍÊý¾Ý£¬ÄÇô¸ÃÊý¾ÝµÄ¾ßÌå²Ù×÷ÓÖÈçºÎÁË¡£
1.Ê×ÏȽ¨Á¢Ò»Õź¬ÓÐxmlÊý¾ÝÀàÐ͵ıí
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL,
CONSTRAINT [PK_TestXml] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2.´´½¨ÏàÓ¦µÄDataSet
×¢ÒâĬÈÏMessageÊÇStringÀàÐÍ£¬Îª´ËÎÒÃÇÒª°ÑËü¸ÄΪXDocument»òÔòXmlDocument£¬È磺
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public XDocument Message {
get {
try {
  ......
SQl XmlºÍC# XmlÊý¾ÝµÄÒ»µã²Ù×÷×ܽá
ÔÚ´ËÉêÃ÷XmlÊÇInfoSetÊý¾Ý²»ÊÇ×Ö·û´®£¬ËùÒÔÔÚ´ËÇ¿ÁÒ·´¶ÔÓÃstringÆ´½Óxml¡£Êý¾Ý¿â¿ÉÒÔ´æ·ÅxmlÀàÐÍÊý¾Ý£¬ÄÇô¸ÃÊý¾ÝµÄ¾ßÌå²Ù×÷ÓÖÈçºÎÁË¡£
1.Ê×ÏȽ¨Á¢Ò»Õź¬ÓÐxmlÊý¾ÝÀàÐ͵ıí
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL,
CONSTRAINT [PK_TestXml] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2.´´½¨ÏàÓ¦µÄDataSet
×¢ÒâĬÈÏMessageÊÇStringÀàÐÍ£¬Îª´ËÎÒÃÇÒª°ÑËü¸ÄΪXDocument»òÔòXmlDocument£¬È磺
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public XDocument Message {
get {
try {
  ......
SQl XmlºÍC# XmlÊý¾ÝµÄÒ»µã²Ù×÷×ܽá
ÔÚ´ËÉêÃ÷XmlÊÇInfoSetÊý¾Ý²»ÊÇ×Ö·û´®£¬ËùÒÔÔÚ´ËÇ¿ÁÒ·´¶ÔÓÃstringÆ´½Óxml¡£Êý¾Ý¿â¿ÉÒÔ´æ·ÅxmlÀàÐÍÊý¾Ý£¬ÄÇô¸ÃÊý¾ÝµÄ¾ßÌå²Ù×÷ÓÖÈçºÎÁË¡£
1.Ê×ÏȽ¨Á¢Ò»Õź¬ÓÐxmlÊý¾ÝÀàÐ͵ıí
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL,
CONSTRAINT [PK_TestXml] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2.´´½¨ÏàÓ¦µÄDataSet
×¢ÒâĬÈÏMessageÊÇStringÀàÐÍ£¬Îª´ËÎÒÃÇÒª°ÑËü¸ÄΪXDocument»òÔòXmlDocument£¬È磺
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public XDocument Message {
get {
try {
  ......
Ç°ÃæÓÐTXÁôÑÔÎÊ·ÖÒ³µÄsqlÊÇÔõôÑùµÄ£¬¿´ÍêÕâÆªÄãÒ²¾ÍÖªµÀÁË¡£ ×é¼þ¿ÉÒÔÊä³öÖ´ÐеÄsql£¬·½±ã²é¿´sqlÉú³ÉµÄÓï¾äÊÇ·ñÓÐÎÊÌâ¡£ ͨ¹ý×¢²áʼþÀ´Êä³ösql DbSession.Default.RegisterSqlLogger(database_OnLog);
private string sql;
void database_OnLog(string logMsg)
{
//±£´æÖ´ÐеÄDbCommand (sqlÓï¾äºÍ²ÎÊý)
sql += "
" + logMsg;
}
È»ºóͨ¹ýÖ´ÐÐ
DbSession.Default.UnregisterSqlLogger(database_OnLog);
À´×¢Ïú×¢²áµÄʼþ¡£
ÕâÀïÊÇÀý×ÓÊÇasp.net
DbSession.Default.from()
.InnerJoin(Suppliers._.SupplierID == Products._.SupplierID)
.Page(10, 2)
.Select(Products._.ProductID, Products._.ProductName)
.ToDataTable();
Ö´ÐÐÉÏÃæµÄÓï¾äÊä³öµÄsqlÓï¾äÈçÏ£º
SELECT * from
( SELECT TOP 10 * from
( SELECT TOP 20 [Products].[ProductID],[Products].[ProductName]
from [Products]
INNER JOIN [Suppliers]
ON ([Suppliers].[SupplierID] = [Products].[SupplierID])
ORDER BY [Products].[Product ......