piątek, grudnia 31, 2004

Koniec usługi MS Passport dla firm

Dzisiaj właśnie odpadł ostatni klient korzystającyu z uwierzytelniania swoich klientów poprzez mechanizm MS Passport. Usługa ta planowo została wygaszona dla zewnętrznych firm. Będzie nadal stosowana do dostępu do MSN oraz innych witryn MS (np. MSDN). Większość firm opowiada się za mechanizmem "federated" tzn. podobnie jak państwa świata, każda firma ma swój "paszport" i decyduje czy uznać "paszport" innej firmy. Najpopularniesze wdrożenie takiego machanizmu to Liberty Alliance firmowany przez SUN-a. Mechanizm ten popierają firmy Fidelity and American Express i konsortium to ma około 150 członków.

poniedziałek, grudnia 27, 2004

Nowy artykuł na DNJOnLine

Tim Anderson interviews Craig Symonds, general manager of the Visual Studio product team, on forthcoming versions of Visual Studio, Microsoft's relationship with the Open Source community, the problems of migrating from Visual Basic 6.0, and whether Visual C++ really is faster than C#. Visit http://dnjonline.com to find out more.


You are being sent this email because you have registered with us in the past. As a registered user you can view the 'locked' articles on our site using your unique login details:

Your user ID is: 5022
Your Password is: ivjxmcm

Please take this opportunity to update your registration details with us. If you would prefer not to receive emails from us, please email remove@mattmags.com with the subject line 'opt-out'.

I hope this email has been useful to you,
Matt Nicholson, Editor DNJ Online

ODBC żyje nadal

ODBC is not dead

One of the .NET Framework features often highlighted is its new data access model, ADO.NET. Some of its improvements over its predecessors include scalability, speed, and its disconnected nature features. A .NET data provider is used to access a database system; a good example is the Oracle Data Provider for .NET. One problem is some systems don't have a data provider available, so, thankfully, you can easily add support for the older ODBC (Open DataBase Connectivity) technology. ODBC is an established industry standard with ODBC drivers available for most systems in use.

Working with ODBC

ODBC is a uniform interface standard that you may use to access database systems. It's a database access library that enables applications to work with data contained in a database. One aspect of ODBC is that you may use it to access almost any type of database, albeit Oracle, Access, Sybase, mySQL, spreadsheets, text files, and so forth. It's a mature technology, so locating an ODBC driver for a particular database system is usually not a problem.

ODBC .NET Data Provider

The ODBC .NET Data Provider is an add-on component to the Microsoft .NET Framework Software Development Kit (SDK). It provides access to native ODBC drivers the same way that the OLE DB .NET Data Provider provides access to native OLE DB Providers. The ODBC .NET Data Provider is intended to work with all compliant ODBC drivers, but the Microsoft site states that it has only been tested with the Microsoft SQL ODBC Driver, Microsoft ODBC driver for Oracle, and the Microsoft Jet ODBC driver.

ODBC setup

ODBC consists of a driver and driver manager. The driver is specific to a database vendor's product. For instance, Oracle provides a driver for working with an Oracle system. The driver manager is used to install the necessary driver files and configure data sources (that take advantage of the driver) to be used in applications. On Windows-based systems, the ODBC Data Source Administrator is used to create and maintain ODBC connections. You may utilize an ODBC driver in a .NET application once it is property installed and set up.

ODBC classes

Once you install the ODBC .NET Data Provider, you can utilize it in an application. If you're using Visual Studio .NET, you may add a reference to its dll file, Microsoft.Data.Odbc.dll. If you're developing from the command line, you can add a reference during compilation or copy the dll file into the application's bin directory.

The ODBC classes are contained in the Microsoft.Data.Odbc namespace. It includes the following classes:

  • OdbcConnection: Used to connect to an ODBC data source. The name assigned to the ODBC data source, during its setup, is used to access it.
  • OdbcCommand: Used to execute a command against a connection.
  • OdbcDataReader: Allows you to loop through the results of a query against a data source.
  • OdbcParameter: Used to bind a parameter to a command.
  • OdbcDataAdapter: Used to fill a DataSet object from an ODBC data source.
  • OdbcCommandBuilder: Creates default Insert, Update, and Delete statements for an ODBC data adapter.

The next example takes advantage of a few of these classes. It utilizes a previously established ODBC data source (aptly called Test). The DSN name is used in the connection string, along with the user id and password to access the database. A basic SQL statement is used to retrieve all rows from the Customers table with the column values displayed. Finally, the connection is closed and all other objects are disposed. The C# code follows:

using System;
using Microsoft.Data.Odbc;
namespace BuilderODBC {
class TestClass {
static void Main(string[] args) {
string connectionString = "DSN=Test;UID=Chester;Pwd=Tester;";
string sql = "SELECT CustomerID, ContactName, ContactTitle FROM Customers";
OdbcConnection conn= new OdbcConnection(connectionString);
conn.Open();
OdbcCommand comm = new OdbcCommand(sql, conn);
OdbcDataReader dr = comm.ExecuteReader();
while (dr.Read()) {
Console.WriteLine(dr.GetValue(0).ToString());
Console.WriteLine(dr.GetValue(1).ToString());
Console.WriteLine(dr.GetValue(2).ToString());
}
conn.Close();
dr.Close();
comm.Dispose();
conn.Dispose();
} } }

The equivalent VB .NET code follows:

Imports Microsoft.Data.Odbc
Module Module1
Sub Main()
Dim conn As OdbcConnection
Dim comm As OdbcCommand
Dim dr As OdbcDataReader
Dim connectionString As String
Dim sql As String
connectionString = "DSN=PracticalLotusScriptTest;UID=Chester;Pwd=Tester;"
sql = "SELECT CustomerID, ContactName, ContactTitle FROM Customers"
conn = New OdbcConnection(connectionString)
conn.Open()
comm = New OdbcCommand(sql, conn)
dr = comm.ExecuteReader()
While (dr.Read())
Console.WriteLine(dr.GetValue(0).ToString())
Console.WriteLine(dr.GetValue(1).ToString())
Console.WriteLine(dr.GetValue(2).ToString())
End While
conn.Close()
dr.Close()
comm.Dispose()
conn.Dispose()
End Sub
End Module

Dealing with ODBC errors

The Microsoft.Data.Odbc namespace includes the OdbcException class for handling any errors that may occur when interacting with ODBC data sources. We can alter our example to utilize this class to handle any runtime exceptions that may occur. The altered C# code follows:

using System;
using Microsoft.Data.Odbc;
namespace BuilderODBC {
class TestClass {
static void Main(string[] args) {
string connectionString =
"DSN=PracticalLotusScriptTest;UID=Chester;Pwd=Tester;";
string sql = "SELECT CustomerID, ContactName, ContactTitle FROM Customers";
OdbcConnection conn = null;
OdbcCommand comm = null;
OdbcDataReader dr = null;
try {
conn= new OdbcConnection(connectionString);
conn.Open();
comm = new OdbcCommand(sql, conn);
dr = comm.ExecuteReader();
while (dr.Read()) {
Console.WriteLine(dr.GetValue(0).ToString());
Console.WriteLine(dr.GetValue(1).ToString());
Console.WriteLine(dr.GetValue(2).ToString());
}
dr.Close();
}
catch (OdbcException oe){
Console.WriteLine("An ODBC exception occurred: " + oe.Message.ToString());
} catch (Exception e) {
Console.WriteLine("An exception occurred: " + e.Message.ToString());
} finally {
if (conn.State == System.Data.ConnectionState.Open) {
conn.Close();
}
comm.Dispose();
conn.Dispose();
} } } }

You'll notice the ODBC objects are declared outside the try/catch block, so they may be utilized in the finally block. ODBC exceptions are handled separately from generic errors. The connection is checked to see if it is open before closing it.

Every data source available

ODBC has been around for numerous years. Consequently, ODBC drivers exist for almost any data source imaginable. The ODBC .NET Data Provider providers ODBC access within .NET applications through the Microsoft.Data.Odbc namespace. Use this data provider when you cannot find a native data provider for the data system used in your application.

Tony Patton began his professional career as an

Mocniejszy Linux w teście miodowej pułapki

Unpatched Linux systems are surviving longer on the Internet before being compromised, according to a report from the Honeynet Project released this week.

The data, from a dozen networks, showed that the average Linux system lasts three months before being compromised, a significant increase from the 72 hours life span of a Linux system in 2001. Unpatched Windows systems continue to be compromised more quickly, sometimes within minutes, the Honeynet Project report stated.

The results are probably due to two trends, said Lance Spitzner, president of Honeynet, which develops software for deploying computer systems as bait for online attackers. The default installations of new Linux systems are much more secure than previous versions of the open-source operating system, he said. Secondly, attackers seem to be much more concentrated on Windows systems than on Linux systems, and on attempting to fool desktop users, of which the vast majority use Windows.

"Everybody is focused on Windows," Spitzner said. "There is more money (for an attacker) to be made on the Windows systems."

The study is the latest data on the relative security of Linux systems versus Microsoft Windows. Last week, students found dozens of flaws in software that runs on Linux systems, and a research report stated that a thorough analysis of the Linux kernel turned up hundreds of flaws. However, in relative terms, those numbers are low compared to commercial applications.

Honeynets, a term coined by the project, are networks of computers that are placed on the Internet with the expectation that they will be compromised by attackers. The networks are heavily monitored, and the data is used to research the latest tactics of online miscreants.

While some of the Windows XP systems on the honeynets used for the latest study were compromised within minutes of being placed on the Internet, newer versions of the Linux operating system from Red Hat failed to be compromised by random attacks for more than two months.

Debbie Fry Wilson, director of product management for the security response center at Microsoft, told CNET News.com that the company's latest operating system is more secure than the report suggests.

"While it is not clear which version of Windows was used during the study, we feel that a Windows XP SP2 configuration with the Windows firewall enabled is the most resilient client operating system available in the market and can withstand attack much longer," Wilson said. "We are pleased that the report indicates that two Windows-based honeynets in Brazil withstood attack for several months. However, we are not certain that the report provides conclusive data based on a controlled and scientific study comparing the two operating systems."

Every Windows system compromised during the study had its security breached by a worm.

However, Spitzner stressed that the Honeynet Project does not have enough Windows systems deployed to offer meaningful data on that operating system's security. Moreover, the report does not specify what version of Windows XP had been running on the systems that had been compromised and whether any Service Pack upgrades had been installed.

The study did find that more recent versions of the Linux operating system lasted longer on the Internet without patching.

Dla moich dzieci

  • http://www.pcworld.pl/witryna/1321/17.html - serwis "starych" gier, które można pobrać legalnie
  • różnorodne wtyczki do Total Commander (iso, przeglądarka plików graficznych, odtwarzacz wielu formatów muzycznych, ściąganie stron, dostęp do ext oraz raifs)
  • serwer z MS SQL - konto marekw/Trava16
  • serwer T-SQL - konto marekw/piotrola
  • cacheman - optymalizator dla pamięci CACHE w XP, serwer - outertech.

niedziela, grudnia 26, 2004

Różnica między profesjonalistą a pracownikiem

n this section I'll cover the things every professional Database Administrator should know: business matters that are outside the strictly technical realm.

What separates a professional from the average employee? An employee feels that work is useful, and normally appreciates at least the social aspects (and the paycheck) of his job. He is not usually interested in the subject of their work outside of the office or place of work, but is quite competent at their job.

The professional feels that her work is important. She spends time outside her job learning more about the craft. She tries out new ideas, and is highly motivated to promote her part of the whole.

But there's more to being a professional than extensive subject knowledge and enthusiasm. Professionals are defined by what they do, not just what they know. Professionals respect themselves and others, and are always looking for the best solution to the problem at hand, even if it's not their solution. They don't care whether they "win" or not; they only care whether the problem is solved.

In this section, we'll explore ways to develop your professional database administrator career. I use the term DBA to refer to the development, administration, and data architect roles of the job. This section has less to do then with pure technical knowledge than it does with other professional aspects of database technology.