10.12.08

Một số lỗi xẩy ra với MSSQL

ERROR: MSDTC on server 'servername' is unavailable.
Vào START > SETTINGS > CONTROL PANEL > ADMINISTRATIVE TOOLS > SERVICES. Start service 'Distributed Transaction Coordinator' .

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require the table to be re-created.

Trong Management Studio, vào Tools -> Options / chọn Designer Page và bỏ chọn "Prevent saving changes that require table re-creation".

3.12.08

Load cursor from file - using user32.dll

Đảm bảo Cursor màu mè rất đẹpsengihnampakgigi
using System.Runtime.InteropServices;
using System.Reflection;
using System.Windows.Forms;
using System;

namespace myNamespace
{
public class cCursor
{
[DllImport("user32.dll")]
public static extern IntPtr LoadCursorFromFile(string filename);
public static Cursor GetColorCursor(string pathCursor)
{
Cursor mycursor = new Cursor(Cursor.Current.Handle);
//dinosau2.ani is in windows folder??
IntPtr colorcursorhandle = LoadCursorFromFile(pathCursor);
mycursor.GetType().InvokeMember("handle", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetField, null, mycursor, new object[] { colorcursorhandle });
return mycursor;
}

}
}

17.11.08

Connection String

SQl
Standard security
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Trusted Connection
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Oracle

1.OLE DB, OleDbConnection (.NET)
Standard security
This connection string uses a provider from Microsoft.
Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;

Trusted connection

Provider=msdaora;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;



2.Provider from Oracle.
Standard Security
Proovider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;


Trusted Connection

Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;


DB2
DB2 .Net Data Provider (IBM.Data.DB2)
Standard

Server=myAddress:myPortNumber;Database=myDataBase;UID=myUsername;PWD=myPassword;

The Server key value syntax is a server name / ip address and an optional port number (note the : in between).

Defining the connection pooling pool size

Server=myAddress:myPortNumber;Database=myDataBase;UID=myUsername;PWD=myPassword;Max Pool Size=100;Min Pool Size=10;


Disable connection pooling

Server=myAddress:myPortNumber;Database=myDataBase;UID=myUsername;PWD=myPassword; Pooling=false;


Connection pooling, time in pool

Server=myAddress:myPortNumber;Database=myDataBase;UID=myUsername;PWD=myPassword; Connection Lifetime=60;

Defines how many seconds the connection can remain idle in the pool before its removed from the pool.

Connection pooling, do not pool

Server=myAddress:myPortNumber;Database=myDataBase;UID=myUsername;PWD=myPassword; Connection Reset=false;


Specifying schema

Server=myAddress:myPortNumber;Database=myDataBase;UID=myUsername;PWD=myPassword; CurrentSchema=mySchema;

All unqualified SQL objects used with the current connection will be qualified with the provide schema name

OLE DB, OleDbConnection (.NET) from Microsoft
TCP/IP

Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=XXX.XXX.XXX.XXX;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=myUsername;Password=myPassword;

APPC

Provider=DB2OLEDB;APPC Local LU Alias=MyAlias;APPC Remote LU Alias=MyRemote;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=myUsername;Password=myPassword;


IBM's OLE DB Provider (shipped with IBM DB2 UDB v7 or above)
TCP/IP

Provider=IBMDADB2;Database=myDataBase;Hostname=myServerAddress;Protocol=TCPIP; Port=50000;Uid=myUsername;Pwd=myPassword;


ODBC
Standard

Driver={IBM DB2 ODBC DRIVER};Database=myDataBase;Hostname=myServerAddress;Port=1234; Protocol=TCPIP;Uid=myUsername;Pwd=myPassword;
MySQL
MySQL Connector/ODBC 2.50 (MyODBC 2.50)
Local database

Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;


Remote database

Driver={mySQL};Server=myServerAddress;Option=131072;Stmt=;Database=myDataBase; User=myUsername;Password=myPassword;


Specifying TCP/IP port

Driver={mySQL};Server=myServerAddress;Port=3306;Option=131072;Stmt=; Database=myDataBase; User=myUsername;Password=myPassword;

The driver defaults to port value 3306, if not specified in the connection string, as 3306 is the default port for MySQL.

MySQL Connector/ODBC 3.51 (MyODBC 3.51)
Local database

Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;

Remote database

Driver={MySQL ODBC 3.51 Driver};Server=data.domain.com;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;

Specifying TCP/IP port

Driver={MySQL ODBC 3.51 Driver};Server=data.domain.com;Port=3306;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;

The driver defaults to port value 3306, if not specified in the connection string, as 3306 is the default port for MySQL.

Specifying character set

Driver={MySQL ODBC 3.51 Driver};Server=data.domain.com;charset=UTF8;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;


OLE DB, OleDbConnection (.NET)
Standard

Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;


MySQL Connector/Net (.NET)
Standard

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

Default port is 3306.

Specifying port

Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

Download the driver at MySQL Developer Zone >>

Named pipes

Server=myServerAddress;Port=-1;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

It is the port value of -1 that tells the driver to use named pipes network protocol. This is available on Windows only. The value is ignored if Unix socket is used.

Multiple servers
Use this to connect to a server in a replicated server configuration without concern on which server to use.
Server=serverAddress1 & serverAddress2 & etc..;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

Using encryption
This one activates SSL encryption for all data sent between the client and server. The server needs to have a certificate installed.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; Encryption=true;

This option is available from Connector/NET version 5.0.3. In earlier versions, this option has no effect.

Specifying default command timeout
Use this one to specify a default command timeout for the connection. Please note that the property in the connection string does not supercede the individual command timeout property on an individual command object.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
default command timeout=20;
This option is available from Connector/NET version 5.1.4.

Specifying connection attempt timeout
Use this one to specify the length in seconds to wait for a server connection before terminating the attempt and receive an error.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Connection Timeout=5;


Inactivating prepared statements
Use this one to instruct the provider to ignore any command prepare statements and prevent corruption issues with server side prepared statements.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Ignore Prepare=true;

The option was added in Connector/NET version 5.0.3 and Connector/NET version 1.0.9.

Specifying port
Use this one to specify what port to use for the connection.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Port=3306;

The port 3306 is the default MySql port.
The value is ignored if Unix socket is used.

Specifying network protocol
Use this one to specify which network protocol to use for the connection.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; Protocol=socket;

"socket" is the default value used if the key isn't specified. Value "tcp" is an equivalent for "socket".
Use "pipe" to use a named pipes connection, "unix" for a Unix socket connection and "memory" to use MySQL shared memory.

Specifying character set
Use this one to specify which character set to use to encode queries sent to the server.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; CharSet=UTF8;

Note that resultsets still are returned in the character set of the data returned.

Specifying shared memory name
Use this one to specify the shared memory object name used for the communication.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;Shared Memory Name=MYSQL;

This one is applicable only when the connection protocol value is set to "memory".

MySqlConnection (.NET)
eInfoDesigns.dbProvider

Data Source=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Command Logging=false;

SevenObjects MySqlClient (.NET)
Standard

Host=myServerAddress;UserName=myUsername;Password=myPassword;Database=myDataBase;


Core Labs MySQLDirect (.NET)
Standard

User ID=root;Password=myPassword;Host=localhost;Port=3306;Database=myDataBase; Direct=true;Protocol=TCP;Compress=false;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;

Read more at Core Lab >>
And on the product page >>

MySQLDriverCS (.NET)
Standard

Location=myServerAddress;Data Source=myDataBase;User ID=myUsername;Password=myPassword;Port=3306;Extended Properties="""";

This is a free simple .NET compliant MySQL driver.

Access

OLE DB, OleDbConnection (.NET)
Standard security

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;


With database password
This is the connection string to use when you have an access database protected with a password using the Set Database Password function in Access.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;


Workgroup (system database)

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;

Workgroup (system database) specifying username and password

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;User ID=myUsername;Password=myPassword;


DataDirectory functionality

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\myDatabase.mdb;User Id=admin;Password=;

Access2007
Standard security

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;


With database password
This is the connection string to use when you have an Access 2007 database protected with a password using the "Set Database Password" function in Access.
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;


DataDirectory functionality

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\myAccess2007file.accdb;Persist Security Info=False;


Excel

Standard

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";


Standard alternative
Try this one if the one above is not working. Some reports that Excel 2003 need the exta OLEDB; section in the beginning of the string.
OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";

Important note!
The quota " in the string needs to be escaped using your language specific escape syntax.
c#, c++ \"
VB6, VBScript ""
xml (web.config etc) "
or maybe use a single quota '.
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the opposite.
"IMEX=1;" tells the driver to always read "intermixed" (numbers, dates, strings etc) data columns as text. Note that this option might affect excel sheet write access negative.
SQL syntax "SELECT * FROM [sheet1$]". I.e. excel worksheet name followed by a "$" and wrapped in "[" "]" brackets.
Check out the [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel] located registry REG_DWORD "TypeGuessRows". That's the key to not letting Excel use only the first 8 rows to guess the columns data type. Set this value to 0 to scan all rows. This might hurt performance.
If the Excel workbook is protected by a password, you cannot open it for data access, even by supplying the correct password with your connection string. If you try, you receive the following error message: "Could not decrypt file."



29.10.08

Vô đề

Con chim nhỏ chiều nay không dám hót
Sợ áng mây giật mình trôi về phía trời xa
Những nốt nhạc trào dâng nơi cổ họng
Man mác buồn và say đắm thiết tha

25.10.08

Sông Mê


-Phương! đừng theo tiếng hát trên sông nữa, về đi con!
Đã bao lần lão ẩn sĩ nói với Phương vậy, Phương cũng không nhớ nữa. Có lẽ cứ mỗi lần Phương đi thuyền trên sông Mê mà lão ẩn sĩ biết được lão đều nói với Phuơng vậy. Sông Mê con sông kỳ ảo, với bao nhiêu truyền thuyết, không biết tự bao giờ người ta đã gọi nó với cái tên như vậy, nghe đâu nó có tên từ trước cả thời Chử Đồng Tử và Tiên Dung, hai người này cũng gặp nhau ở đây. Con sông này bốn mùa mây phủ dày đặc và dòng chảy bất ổn. Ai là người từng đi trên sông, chắc chẳng nhiều nhưng cũng chẳng ít. Phương tình cờ đi trên dòng sông này từ khi nàng ở tuổi trăng rằm, nàng thích nghe những câu hát của nhũng người trên sông. Mà khi đi thuyền trên con sông này, người ta thường ít khi thấy nhau, nếu gặp cũng chỉ mờ mờ ảo ảo trong làn sương khói khi mỏng khi dày, phần lớn người ta chỉ gặp được nhau qua tiếng hát. Nhưng nghe được tiếng hát của nhau cũng đâu phải dễ, phải có duyên lắm mới nghe thấy tiếng hát của nhau, có nhiều khi hai thuyền trôi sát bên nhau mà người ở thuyền này không thể nghe tiếng hát của thuyền bên cạnh, vì tiếng hát cứ bị những làn gió và sương khói cuốn đi đâu mất. Trên sông có nhiều bài ca, có bài ca của những người cứ trôi mãi trên sông, họ hát cho họ, cho dòng sông, cho đất trời, cho con người những bài hát được đúc từ sự cô đơn, những nỗi buồn, những đam mê, những nỗi niềm, họ thuộc về dòng sông vĩnh viễn. Có những bài ca là những gì trai gái hát cho nhau nghe, nó dịu dàng, ngọt ngào và rạo rực, những lời ca như xoắn lấy nhau đê mê, ngây ngất. Lại có những bài ca của những người mất bạn hát, mất đi người người đã từng hát với họ những câu hát đắm say, nó trống vắng, nát tan, đau đớn. Nước và mây trên sông biến đổi theo bài hát, quanh con thuyền của những người hát bài hát về cuộc đời, nước như quánh lại, mây như trong vắt, và bài hát lan tỏa rất xa, nó mang đến cho mọi người sự lâng lâng trong tâm hồn, lòng yêu thương cuộc sống, khải huyền trong ánh mắt đưa ánh trăng xua mây tỏa sáng. Nơi những bản tình ca vang lên, quanh những âm thanh đồng điệu, mây ngạt ngào hương thơm, nước ngọt như cam lộ, uống vào như rượu quí, lòng lâng lâng lâng ngây ngất, tim rạo rực yêu thương, và mơn man ngọn lửa dục tình. Quanh những lời ca tan vỡ, nước sông đóng băng, mây hóa thành tuyết, gió buốt như kim châm.
Lần đầu tiên Phương đi trên con sông này là cùng một người bạn hát, khi nàng đang như nụ hoa hàm tiếu, nàng đã hát say sưa, nàng đã hít thở làn hương thơm ngào ngạt, nàng đã được uống rượu quí của đất trời của nàng và của bạn nàng. Sau này nàng còn nhiều lần đến dòng sông này nhưng chẳng bao giờ còn được như cái ngày đó nữa. Nàng và bạn hát của nàng từ dòng sông về với cuộc sống, họ có một mái ấm gia đình, và họ vẫn dắt nhau đi trên sông và hát cho nhau nghe, nhưng cứ thưa dần thưa dần...
Ở gần đấy có một lão ẩn sĩ, không biết lão từ đâu tới, nghe nói lão cũng là người của dòng sông. Lão thu nạp đệ tử, dạy võ, dạy y thuật và chữa bệnh cứu người. Phương theo lão học y thuật, nàng vẫn hay trốn học đi hát trên sông, mỗi lần vậy lão chỉ nói :
-Phương! đừng theo tiếng hát trên sông nữa, về đi con!
Lão không quở mắng, nhưng không khuyến khích, lời nói nghe như một tiếng thở dài, có lẽ lão biết khá rõ về những người hay đi hát trên sông. Trưởng tràng của lớp võ là Thịnh, được lão ẩn sĩ cưu mang từ bé, Thịnh rất thích Phương, Thịnh hay lén đi theo Phương mỗi lần Phương đi hát trên sông, Thịnh muốn hát cho Phương nghe, nhưng tiếng hát của Thịnh không tài nào đến được với Phương bởi gió, mưa cứ tạt đi, thi thoảng có lẽ nàng cũng nghe được đôi lời nhưng nó không đọng lại.
Thời gian trôi đi, do nhiều lý do Phương và người bạn hát ngày xưa chia tay, nàng lao vào cuộc mưu sinh, nàng cũng không làm nghề y. Rồi nàng đi bước nữa với một người thợ mộc ở làng bên, một con người hiền lành, chất phác và chăm chỉ, chỉ mỗi tội hay phải theo phường làm xa nhà, nàng không đi hát trên sông nữa.
Sau đó với nàng là những tháng ngày mải miết để nuôi các con khôn lớn, một hôm nhân ngày mừng thọ lão ẩn sỹ, nàng đến chúc thọ lão. Ở đây nàng gặp lại rất nhiều đồng môn, trong đó có cả Thịnh. Thịnh giờ đã là một võ tướng được trọng dụng, đang trấn giữ một địa điểm trọng yếu phương xa. Sau hôm đó, Thịnh rủ Phương đi hát trên sông, đã lâu lắm rồi Phương không quay lại dòng sông nên nàng đã nhận lời.
-Phương! đừng theo tiếng hát trên sông nữa, về đi con!
Lão ẩn sỹ biết chuyện, và lại nói với Phương vậy, lão không nói gì với Thịnh, nhưng cũng như năm xưa Phương vẫn đi hát. Bây giờ nàng mới để ý đến lời ca củaThịnh, và cho đến một hôm nàng đã hát cũng Thịnh, những lời ca giờ không cháy bỏng, rực lửa như năm xưa nàng hát, nhưng nó đằm thắm dịu dàng và đẫm hương sắc mùa Thu.
-Phương! đừng theo tiếng hát trên sông nữa, về đi con! Lão ẩn sỹ lại nhắc, lão vẫn không nói gì với Thịnh.
Thịnh lại ra đi, thỉnh thoảng lại về đi hát trên sông với nàng, nàng khắc khoải đợi chàng về đi hát trên sông, nửa đêm nàng thảng thốt khi nghe tiếng vó ngựa gõ phía bờ sông, không phải ngóng trông tiếng xe ngựa của chồng nàng. Nhiều đêm nàng đi hát trên sông một mình, nàng hát cho nàng nghe, cho dòng sông nghe, những bài hát của sự cô đơn, trống vắng, quanh nàng nước lạnh ngắt, mây phủ mờ, gió hú rợn người. Có khi trên sông Phương cũng gặp những đi hát trên sông một mình như nàng, họ cũng hát những bài hát giống nàng. Yên, là một người bạn hát như vậy, Yên có những câu hát thật buồn, và họ hát cho nhau nghe những bài hát của lòng mình. Những câu hát buồn bên nhau cũng làm cho dòng sông bớt lạnh. Sau những bài hát họ thường bảo nhau, với cái giọng giống y như lão ẩn sỹ.
- Đừng theo tiếng hát trên sông nữa, về đi! Nhưng họ vẫn đi hát trên sông
Lão ẩn sỹ ra đi vào một ngày thu, những con chim báo tin mang hung tin đi nhiều nơi,nàng đã đến, nhưng Thịnh không về. Tối nay nàng lại đi hát một mình, nước mắt nàng ướt đẫm cả dòng sông, nàng khóc thương lão ẩn sỹ, nàng khóc trách Thịnh quá tệ với lão ẩn sỹ, có lẽ nhiều nhất là nàng khóc vì Thịnh không về đi hát với nàng trên sông, và hôm nay nàng lại gặp Yên, Yên đưa nàng đi nghe những câu ca những người suốt đời sống trên sông và hát một mình trên sông,. Chợt nàng lặng người đi khi nghe thấy những lời ca giống hệt như lời ca mà Thịnh đã hát cho nàng nghe, lòng nàng nát tan, thì ra những lời ca mà Thịnh hát cho nàng nghe không phải là lời ca của hắn, trách gì ngày xưa tiếng ca của hắn không đến được với nàng, nàng hiểu tại sao hắn không về, hắn đâu có những bài ca.
-Tại sao vậy?
Nàng gào lên giữa dòng sông buốt giá, hắn cười cợt nàng, hắn lừa dối nàng, hay tại sao, nàng gục đầu vào hai bàn tay mình nức nở.Quanh nàng nước sông đóng băng, mây hóa thành tuyết, gió buốt như kim châm. Yên lặng lẽ đẩy chiếc thuyền của nàng về phía mây thưa hơn, ở đó có những bài ca trong trẻo:
Ánh trăng vàng dìu dịu
Gió thì thầm hát ca.
Người ơi!
Tình yêu không phải thế...
Nỗi buồn không phải thế...
Người ơi!
Em là dòng nước mát
Em là làn hương thơm
Cánh chim chiều chao liệng
Chở tình em ấm nồng
Người ơi!...
Tình yêu không phải thế...
Nỗi buồn không phải thế...
Người ơi!...
Nàng như dịu lại, phải rồi, không cần có câu hỏi tại sao nữa, có nghĩa gì đâu khi Thịnh chỉ là kẻ không có những câu ca. Yên khẽ nói:
-Trương Chi đấy! Thỉnh thoảng mới nghe được tiếng hát của anh ấy trên sông, anh ấy chỉ xuất hiện ở những nơi thật đẹp, dòng sông này ngày càng ít chỗ cho Trương Chi.
Nàng thấy lòng nhẹ nhàng hơn, nàng thiếp đi trên thuyền. Yên đắp cho nàng một chiếc mền dệt bằng những sợi tóc mà bầy chim nhổ về từ mùa xuân. Yên lại khẽ đẩy chiếc thuyền của nàng về phía bình minh, phía đó có ngôi nhà của nàng. Yên dõi theo con thuyền một lúc lâu với ánh mắt như chứa đựng một bài ca , rồi lặng lẽ khe khẽ hát một mình và để con thuyên của mình trôi về phía những làn sương.
Những tia nắng ấm áp đầu tiên của một ngày mới mơn man trên khuôn mặt nàng, những giọt nắng ban mai đọng lên trên khóe môi nàng một nụ cười, nàng vẫn đang ngủ với vẻ mặt bình yên, trong chiêm bao nàng gặp lại lão ẩn sĩ. Lão lại nói với nàng câu nói từ thuở nào, nhưng giọng của lão không còn nghe như tiếng thở dài của ngày xưa nữa:
-Phương! đừng theo tiếng hát trên sông nữa, về đi con!

16.10.08

Lấy IP ra Internet của máy đằng client

using System;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;

namespace DreamInCode.Snippets
{
public class IpFinder
{
public static IPAddress GetExternalIp()
{
string whatIsMyIp = "http://whatismyip.com";
string getIpRegex = @"(?<=<TITLE>.*)\d*\.\d*\.\d*\.\d*(?=<TITLE>)";
WebClient wc = new WebClient();
UTF8Encoding utf8 = new UTF8Encoding();
string requestHtml = "";
try
{
requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp));
}
catch (WebException we)
{
// do something with exception
Console.Write(we.ToString());
}
Regex r = new Regex(getIpRegex);
Match m = r.Match(requestHtml);
IPAddress externalIp = null;
if (m.Success)
{
externalIp = IPAddress.Parse(m.Value);
}
return externalIp;
}
}
}

8.10.08

Đôi mắt mùa thu

Đôi mắt thương yêu, đôi mắt u buồn...
Đôi mắt vẽ cả dòng sông quanh quẽ
Có hơi thở từ nơi nào rất khẽ
Thảng thốt cười, thảng thốt chiêm bao...

Nguời lặng lẽ thầm thì những câu ca
Giữa mải miết phố phường cười khóc
Trời Hà nội như mờ dần sương khói
Hoa Thạch Thảo buồn rũ xuống chiều thu

Con phố cũ mà tôi đã quên lâu
Chợt vụt về trong đa chiều ảo ảnh
Trời chưa Đông mà sao lòng se lạnh
Trên sông băng một ngọn lửa xôn xao

Cho tôi thắp lên tóc những vì sao
Thả một tôi về xa xăm hoài niệm
Thả một tôi về mai sau tìm kiếm
Cánh chim chiều chao nhẹ bình yên

7.10.08

Không thể reference webservice

Khi Refrence Webservice nếu gặp lỗi:

The web services enumeration components are not available. You need to reinstall Visual Studio to add web references to your application.

chạy : devenv /resetskippkgs trong cua so command prompt của VS2005
Tôi chạy thì ăn ngay

Có thằng nó bảo chạy:
Start -> Run -> "regsvr32 %windir%\system32\mscoree.dll" without quotes, cái này thì chưa thử

6.10.08

Vô đề

Thanh âm vọng về từ miền cao vòi vọi
Ballad buồn quánh cả không gian
Chuyến tàu khuya nhòa dần vào bóng tối
Cơn khát vụt về trong ước vọng miên man...

3.10.08

Thư gửi mẹ

Có phải ngày ấy mẹ gom lại những giọt nắng còn nấn ná giữa hoàng hôn...
Đi gom lại giấc mơ của một thời con gái
Để sinh ra con từ thăm thẳm nỗi lòng
Con lớn lên trong lời ru của mẹ ăm ắp nước sông
Trong câu ví dặm nghĩa tình như dòng Lam xanh biếc
Trong những nhọc nhằn của mẹ tháng ngày mải miết
Con lớn lên như một bài ca

Nhưng mẹ ơi! khi lời ca đó vút xa
Thì mái tóc mẹ đã đẫm màu sương gió
Ôi con khát khao được đi tìm trong hương cỏ
Trong sương mai trong những ánh sao trời
Trên đỉnh núi chập chùng, trên sóng khơi
Chẳng phải tuổi thơ con mà là tuổi thanh xuân của mẹ...
Nhưng ngược thời gian là điều không thể
Nước đã qua cầu có chảy lại nữa đâu...

Dẫu cuộc đời con là bản thánh ca nhiệm mầu
Hay mãi mãi là bài ca lưu lạc
Con cũng xin những nỗi niềm về mẹ làm dấu lặng
Nơi hay nhất trong bản nhạc lòng con

Thành Vinh 1998

2.10.08

Biển đêm

Con sóng xô bờ cát dài nhức nhối
Dưới trăng mờ ta lặng dõi đảo xa
Ôi hòn đảo chẳng bao giờ ta tói nổi
Ngăn cách bởi những con sóng vùi dập vô tình

Vỗ quanh ta là tiếng thở của biển đêm
Những tiếng thở uất uất ... nghèn nghẹn...
Những tiếng thở của triệu năm kìm nén
Lặng lẽ thét gào rồi lặng lẽ vùi chôn
Biển bao la đang chạy trốn cô đơn
Biển run rẩy đến quì bên bờ cát
Biển đớn đau cho những cánh buồm rách nát
Đang chở những nỗi buồn về chắp vá những câu ca

Hỡi đại dương hỡi những là sóng bạc
Ta muốn làm cánh buồm trắng ra khơi
Không..., không...không!
Ta không ra nơi đảo xa vời
Mà chỉ xin làm một cánh buồm hải tặc
Để tự do vung gươm trên biển bạc
Cướp những ánh sao trời về dựng lâu đài thơ
Lâu đài chôn những con sóng xoãi chết bên bờ

Đêm nay biển buồn gì mà biển khóc
Để nước mắt ngập tràn loang loáng cả đại dương
Đêm nay biển buồn gì mà biển khóc
Để sóng cứ vỗ vào lòng những đau đáu yêu thương

Đừng khóc nữa kẻo trăng sao rụng mất
Đừng khóc nữa kẻo ta bật máu bờ môi
Đừng khóc nữa xa mãi đảo xa xôi
Kìa...! Trời đông một bình minh vừa chớm...

Cửa lò Mùa đông 1996