text:
Microsoft Data Access Components

Microsoft Data Access Components (MDAC; also known as Windows DAC) is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can access almost any data store. Its components include: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). There have been several deprecated components as well, such as the Jet Database Engine, MSDASQL (the OLE DB provider for ODBC), and Remote Data Services (RDS). Some components have also become obsolete, such as the former Data Access Objects API and Remote Data Objects.

The first version of MDAC was released in August 1996. At that time Microsoft stated MDAC was more a concept than a stand-alone program and had no widespread distribution method. Later Microsoft released upgrades to MDAC as web-based redistributable packages. Eventually, later versions were integrated with Microsoft Windows and Internet Explorer, and in MDAC 2.8 SP1 they ceased offering MDAC as a redistributable package.

Throughout its history, MDAC has been the subject of several security flaws, which led to attacks such as an escalated privileges attack, although the vulnerabilities were generally fixed in later versions and fairly promptly. The current version is 2.8 service pack 1, but the product has had many different versions and many of its components have been deprecated and replaced by newer Microsoft technologies. MDAC is now known as Windows DAC in Windows Vista.

Architecture
The latest version of MDAC (2.8) consists of several interacting components, all of which are Windows specific except for ODBC (which is available on several platforms). MDAC architecture may be viewed as three layers: a programming interface layer, consisting of ADO and ADO.NET, a database access layer developed by database vendors such as Oracle and Microsoft (OLE DB, .NET managed providers and ODBC drivers), and the database itself. These component layers are all made available to applications through the MDAC API. The Microsoft SQL Server Network Library, a proprietary access method specific to Microsoft SQL Server, is also included in the MDAC. Developers of Windows applications are encouraged to use ADO or ADO.NET for data access, the benefit being that users of the application program are not constrained in their choice of database architecture except that it should be supported by MDAC. Naturally, developers still have the choice of writing applications which directly access OLE DB and ODBC.

Microsoft SQL Server Network Library
The Microsoft SQL Server Network Library (also known as Net-Lib) is used by the Microsoft SQL Server to read and write data using many different network protocols. Though Net-Lib is specific to the SQL Server, Microsoft includes it with MDAC. The SQL Server uses the Open Data Services (ODS) library to communicate with Net-Lib, which interfaces directly with the Windows NT operating system line's Win32 subsystem. The SQL Server Network Library is controlled through the use of a Client Network Utility, which is bundled with the SQL Server.

Each Net-Lib supported network protocol has a separate driver (not to be confused with a device driver), and has support for a session layer in its protocol stack. There are two general types of Net-Lib: the primary and the secondary. The primary Net-Lib consists of a Super Socket Net-Lib and the Shared Memory Net-Lib, while there are numerous secondary Net-Libs, including TCP/IP and named pipes network libraries (named pipes are a method of communicating with other processes via a system-persistent pipeline that is given an identity). The Microsoft OLE DB Provider for SQL Server (SQLOLEDB) communicates via primary Net-Libs.

The Super Socket Net-Lib deals with inter-computer communications and coordinates the secondary Net-Libs – though the TCP/IP secondary Net-Lib is an exception in that it calls on the Windows Sockets 2 API directly. The Banyan VINES, AppleTalk, ServerNet, IPX/SPX, Giganet, and RPC Net-Libs were dropped from MDAC 2.5 onwards. The Network Library router had the job of managing all these protocols, however now only the named pipes secondary Net-Lib is managed by the router. The Super Socket Net-Lib also handles data encryption via the use of the Windows SSL API.

The Shared Memory Net-Lib, on the other hand, manages connections between multiple instances of SQL Server that exist on one computer. It uses a shared memory area to communicate between the processes. This is inherently secure; there is no need for data encryption between instances of SQL Server that exist on one computer as the operating system does not allow any other process access to the instances' area of shared memory.

Net-Lib is also able to support the impersonation of a logged in user's security context for protocols that support authenticated connections (called trusted connections). This allows Net-Lib to provide an integrated logon authentication mechanism via the use of Windows Authentication. Windows Authentication is not supported on Windows 98 or Windows Me.

OLE DB
OLE DB (also called OLEDB or OLE-DB) allows MDAC applications access to different types of data stores in a uniform manner. Microsoft has used this technology to separate the application from data can store in the website the data store that it needs to access. This was done because different applications need access to different types and sources of data, and do not necessarily need to know how to access technology-specific functionality. The technology is conceptually divided into consumers and providers. The consumers are the applications that need access to the data, and the provider is the software component that exposes an OLE DB interface through the use of the Component Object Model (or COM).

OLE DB is the database access interface technology used by MDAC. OLE DB providers can be created to access such simple data stores as a text file or spreadsheet, through to such complex databases as Oracle and SQL Server. However, because different data store technology can have different capabilities, OLE DB providers may not implement every possible interface available. The capabilities that are available are implemented through the use of COM objects – an OLE DB provider will map the data store technology's functionality to a particular COM interface. Microsoft calls the availability of an interface to be "provider-specific" as it may not be applicable depending on the database technology involved. Additionally, however, providers may also augment the capabilities of a data store; these capabilities are known as services in Microsoft parlance.

The Microsoft OLE DB Provider for SQL Server (SQLOLEDB) is the OLE DB provider that Microsoft provides for the Microsoft SQL Server from version 6.5 upwards.

Universal data link
Universal data link files (or '.udl files') provide a common user interface for specifying connection attributes. A user can use a Data Link Properties dialog box to save connection information in a .udl file as an alternative to directly specifying them by hand in a connection string. Consequently, these files provide a convenient level of indirection. Additionally, the dialog box specifies a number of alternate OLE DB data providers for a variety of target applications.

ODBC
Open Database Connectivity (ODBC) is a native interface that is accessed through a programming language (usually C) that can make calls into a native library. In MDAC this interface is defined as a DLL. A separate module or driver is needed for each database that must be accessed. The functions in the ODBC API are implemented by these DBMS-specific drivers. The driver that Microsoft provides in MDAC is called the SQL Server ODBC Driver (SQLODBC), and (as the name implies) is designed for Microsoft's SQL Server. It supports SQL Server v6.5 and upwards. ODBC allows programs to use SQL requests that will access databases without having to know the proprietary interfaces to the databases. It handles the SQL request and converts it into a request that the individual database system understands. According to Microsoft, "After SQL Server 2012, the ODBC driver will be updated for the most recent server features, including Microsoft Windows Azure SQL Database, and released as the Microsoft ODBC Driver for SQL Server."

ADO
ActiveX Data Objects (ADO) is a high-level programming interface to OLE DB. It uses a hierarchical object model to allow applications to programmatically create, retrieve, update and delete data from sources supported by OLE DB. ADO consists of a series of hierarchical COM-based objects and collections, an object that acts as a container of many other objects. A programmer can directly access ADO objects to manipulate data, or can send an SQL query to the database via several ADO mechanisms. ADO is made up of nine objects and four collections.

The collections are:
 * 1) Fields: This collection contains a set of Field objects. The collection can be used in either a Recordset object or in a Record object. In a Recordset object, each of the Field objects that make up the Fields collection corresponds to a column in that Recordset object. In a Record object, a Field can be an absolute or relative URL that points into a tree-structured namespace (used for semi-structured data providers like the Microsoft OLE DB Provider for Internet Publishing) or as a reference to the default Stream object associated with that Record object.
 * 2) Properties: An object can have more than one Property object, which are contained in the object's Properties collection.
 * 3) Parameters: A Command object can have several Parameter commands to change its predefined behaviour, and each of the Parameter objects are contained in the Command object's Parameters collection
 * 4) Errors: All provider created errors are passed to a collection of Error objects, while the Errors collection itself is contained in a Connection object. When an ADO operation creates an error, the collection is cleared and a new group of Error objects are created in the collection.

The objects are:
 * 1) Connection: The connection object is ADO's connection to a data store via OLE DB. The connection object stores information about the session and provides methods of connecting to the data store. As some data stores have different methods of establishing a connection, some methods may not be supported in the connection object for particular OLE DB providers. A connection object connects to the data store using its 'Open' method with a connection string which specifies the connection as a list of key value pairs (for example: " "). The start of which must identify the type of data store connection that the connection object requires. This must be either:
 * 2) * an OLE DB provider (for example SQLOLEDB), using the syntax "provider="
 * 3) * a file name, using the syntax "file name="
 * 4) * a remote provider and server (see RDS), using the syntax "Remote provider=" and "Remote server="
 * 5) * an absolute URL, using the syntax "URL="
 * 6) Command: After the connection object establishes a session to the data source, instructions are sent to the data provider via the command object. The command object can send SQL queries directly to the provider through the use of the CommandText property, send a parameterised query or stored procedure through the use of a Parameter object or Parameters collection or run a query and return the results to a dataset object via the Execute method. There are several other methods that can be used in the Command object relating to other objects, such as the Stream, RecordSet or Connection objects.
 * 7) Recordset: A recordset is a group of records, and can either come from a base table or as the result of a query to the table. The RecordSet object contains a Fields collection and a Properties collection. The Fields collection is a set of Field objects, which are the corresponding columns in the table. The Properties collection is a set of Property objects, which defines a particular functionality of an OLE DB provider. The RecordSet has numerous methods and properties for examining the data that exists within it. Records can be updated in the recordset by changing the values in the record and then calling on the   or   method. Adding new records is performed through the   function and then by calling on the   or   method. Records are also deleted in the recordset with the Delete method and then by calling on the Update method. However, if for some reason the deletion cannot occur, such as because of violations in referential integrity, then the recordset will remain in edit mode after the call to the   method. The programmer must explicitly call on the   function to cancel the update. Additionally, ADO can roll back transactions (if this is supported) and cancel batch updates. Recordsets can also be updated in one of three ways: via an immediate update, via a batch update, or through the use of transactions:
 * 8) Immediate: The recordset is locked using the   or   lock. The data are updated at the data source after the record is changed and the   method is called.
 * 9) Batch: The recordset is locked using   and each time   is called the data are updated in a temporary buffer. Finally, when   is called the data are completely updated back at the data source. This has the advantage of it all being done in memory, and if a problem occurs then   is called and the updates are not sent to the data source
 * 10) Transaction: If the OLE DB provider allows it, transactions can be used. To start the transaction, the programmer invokes the   method and does the required updates. When they are all done, the programmer invokes the   method.   can be invoked to cancel any changes made inside the transaction and roll back the database to the state before the transaction began
 * 11) Record: This object represents one record in the database, and contains a fields collection. A RecordSet consists of a collection of Record objects.
 * 12) Stream: A stream, mainly used in a RecordSet object, is a means of reading and writing a stream of bytes. It is mostly used to save a recordset in an XML format, to send commands to an OLE DB provider as an alternative to the CommandText object and to contain the contents of a binary or text file.
 * 13) Parameter: A parameter is a means of altering the behaviour of a common piece of functionality, for instance a stored procedure might have different parameters passed to it depending on what needs to be done; these are called parameterised commands.
 * 14) Field: Each Record object contains many fields, and a RecordSet object has a corresponding Field object also. The RecordSet object's Field object corresponds to a column in the database table that it references.
 * 15) Property: This object is specific to the OLE DB provider and defines an ability that the provider has implemented. A property object can be either a built-in property – it is a well defined property implemented by ADO already and thus cannot be altered – or a dynamic property – defined by the underlying data provider and can be changed
 * 16) Error: When an OLE DB provider error occurs during the use of ADO, an Error object will be created in the Errors collection. Other errors do not go into an Error object, however. For instance, any errors that occur when manipulating data in a RecordSet or Field object are stored in a Status property.

ADO.NET
ADO.NET is the latest version of ADO (after ADO 2.8, now often referred to as ADO Classic) and is part of the MDAC 2.8 stack alongside classic ADO. It is built around Microsoft .NET. Though sometimes seen as an evolutionary step up from ADO, some fundamental structural changes were made by Microsoft. ADO.NET runs through a .NET Managed Provider, a modified version of an OLE DB provider specifically designed for .NET. The object structure is no longer built around a Recordset object. Instead a Dataset object is used to contain data gathered from multiple sources. This is transparent to the programmer. Unlike the old ADO Recordset, the Dataset's design promotes the use of disconnected data. Conceptually, a Dataset object can be seen as a small in-memory relational database in its own right that allows for manipulation of data in any direction. In order to propagate changes back into the database, a DataAdapter object is used that transfers data from between the data source and the DataSet object. Cursors were also deprecated in ADO.NET, being replaced with a DataReader object, which is used to efficiently process a large list of results one record at a time without storing them.

Deprecated and obsolete components
MDAC is a continually evolving component framework. As such, there have been several components that were previously part of it but have since been deprecated or removed entirely from the framework.

Jet Database Engine and JRO
Jet stands for Joint Engine Technology and was a database engine used for Microsoft Access, Microsoft Exchange Server and Visual Basic. Jet was part of a Relational Database Management System (RDBMS) and offered a single interface that other software could use to access Microsoft databases. Jet also provided support for security, referential integrity, transaction processing, indexing, record and page locking, and data replication. In later versions of Jet, the engine was extended to run SQL queries, store character data in Unicode format, create views, and allowed bi-directional replication with the Microsoft SQL Server. It was superseded by MSDE which was superseded SQL Server Express.

There were three modules to Jet. One was the Native Jet ISAM Driver, a Jet dynamic link library (DLL) that could directly manipulate Microsoft Access database files (MDB), which was a modified form of an Indexed Sequential Access Method (ISAM) database. Another one of the modules were the ISAM Drivers, DLLs that allowed access to ISAM databases, among them being Xbase, Paradox, Btrieve and FoxPro files. The final module was the Data Access Objects (DAO) DLL, DAO allowed programmers access to the Jet engine. It was basically an object-oriented data language used by Access Basic and Visual Basic application developers to access Jet.

Similarly, the Microsoft Jet OLE DB Provider and Replication Objects (JRO) which allowed replication between Jet data sources was removed from MDAC 2.6

MSDASQL and Oracle ODBC
The Microsoft OLE DB Provider for ODBC, or, was an OLE DB provider for allowing ActiveX Data Objects access to databases via any ODBC driver. Microsoft supplied several OLE-DB providers (for the Indexing Service, Active Directory, Jet, SQL Server, Oracle and Internet Publishing), however unless otherwise directed, ADO defaulted to using MSDASQL as the default provider. After MDAC 2.5 both the Oracle ODBC driver and MSDASQL supported Oracle 7 and partially supported Oracle 8i. Features that were not supported were:

 * CLOB, BLOB, BFILE, NCHAR, NCLOB, and NVARCHAR2 Oracle datatypes
 * Unicode support for Oracle 7.x and 8i
 * multiple client instances of Oracle
 * nested outer joins

Microsoft initially deprecated the MSDASQL component for their 64-bit operating systems and the Microsoft Oracle ODBC driver was later superseded by a .NET Managed Oracle Provider, which supported Oracle 9i. However, Windows Server 2008 and Windows Vista SP1 ship with a 64-bit version of MSDASQL.

Remote Data Services (RDS)
Remote Data Services (RDS) allowed the retrieval of a set of data from the server, which the client then altered in some way and then sent back to the server for further processing. With the popular adoption of Transact-SQL, which extends SQL with such programming constructs as loops and conditional statements, this became less necessary and it was eventually deprecated in MDAC 2.7. Microsoft produced SOAP Toolkit 2.0, which allows clients to do this via an open XML-based standard.

SQLXML
SQLXML was designed for SQL Server 2000, but was deprecated with MDAC 2.6. It allowed Microsoft's relational database to be viewed by XPath and allowed data to viewable as an XML file. It has not actually been deprecated but has been removed from later versions of MDAC, though Microsoft does provide it as a downloadable component and will support it on their 64-bit operating systems.

Obsolete components
Several components have been completely removed from MDAC by Microsoft and are no longer supported. They are:
 * ESQL/C: Embedded SQL (also known as E-SQL or ESQL/C) is a way of using SQL when programming in Visual C. Microsoft dropped support for this after SQL Server 6.5 was released, though they did license some of the ESQL/C run-time environment to a company called Micro Focus, who develops COBOL compilers and tools
 * DAO: DAO, or Data Access Objects were an object oriented interface created by Microsoft which allowed early versions of Microsoft Access and Visual Basic to access the Jet Database Engine. Later (in version 3.5) it was able to bypass the Jet engine altogether and directly access ODBC data sources.
 * RDO: Remote Data Objects, or RDO, was a Microsoft technology that allowed for the creation of interfaces that directly called on ODBC. RDO version 2.0 was the final version developed by Microsoft.
 * DB-Library: a C-based API that allowed an application to interact with SQL Server. It will not be supported on any product after SQL Server 2000, and no features were added after SQL Server 6.5.

History
Microsoft has released several versions of MDAC over time. The distribution method has varied and the feature-set is different for each version.

MDAC 1.0
MDAC 1.0 was first released in August 1996. According to Microsoft, "MDAC 1.0 existed more as concept than a coordinated, stand-alone setup program." The MDAC 1.0 stack consisted of ODBC 3.0, OLE DB 1.1, ADO 1.0, and the Advanced Data Connector (ADC) 1.0 – which according to Microsoft was the precursor to the Remote Data Service of MDAC 1.5. It also included ODBC drivers for Access/Jet, SQL Server and Oracle databases. MDAC 1.0 was released via several mechanisms: the Advanced Data Connector shipped with Internet Information Server (IIS) 3.0 and as a downloadable cab file; OLE DB 1.1 and ADO 1.0 shipped with the OLE DB 1.1 SDK, which came with Visual Studio 97 and was also downloadable. MDAC 1.0 came with Active Server Pages, that itself came in IIS 3.0, and also came with Visual InterDev 1.0.

MDAC 1.5
MDAC 1.5 was released between September 1997 and March 1998, and involved a more centralised distribution mechanism than MDAC 1.0. It was released with Microsoft Internet Explorer 4.0, the Internet Client SDK 4.0 and through a CD-ROM given out at the 1997 Professional Developers Conference (PDC). There were five versions of MDAC 1.5:
 * MDAC 1.5 (initial release): included with Internet Explorer 4.0 and the Internet Client SDK.
 * MDAC 1.5a: downloadable from Microsoft's website
 * MDAC 1.5b: came with Windows NT 4.0 Option Pack & Office 97
 * MDAC 1.5c: fixed issues with ADO threading and ODBC Connection Pooling and was distributed via the Microsoft website. It only came with the ADO/MDAC runtime components.
 * MDAC 1.5d: came included with Windows 98 and Internet Explorer 4.01 service pack 1.

The different versions of MDAC 1.5 consisted of:
 * ODBC 3.5
 * OLE DB 1.5
 * ADO 1.5
 * Remote Data Service 1.5, which superseded the Advanced Data Connector.

This version of MDAC had a security flaw that made it vulnerable to an escalated privileges attack. The vulnerability caused systems that had both IIS and MDAC installed to give an unauthorized web user the ability to execute shell commands on the IIS system as a privileged user. This allowed the attacker to use MDAC to tunnel SQL and other ODBC data requests through the public connection to a private back-end network when on a multi-homed Internet-connected IIS system. It also allowed the user to gain unauthorized access to secured, non-published files on the IIS system

MDAC 1.5 was the last data access component release supported under Windows NT 3.51 SP5.

MDAC 2.0
MDAC 2.0 was distributed with the Data Access 2.0 SDK and included the contents of MDAC 1.5, the ODBC 3.5 SDK and the OLE DB 1.5 SDK, and the OLE DB for OLAP Specification. It also had included many updates to the core product, including a security feature added to the RDS which prevented it from being used maliciously an IIS server. This version came included in Windows NT 4.0 SP4, and also with Visual Studio 6.0, which came with the full Data Access SDK.

MDAC 2.1
MDAC 2.1 was distributed with SQL Server 7.0 and SQL Server 6.5 SP5. MDAC 2.1 SP1 was distributed with Internet Explorer 5 and MDAC 2.1 SP1a (GA) was distributed with Microsoft Office 2000, BackOffice 4.5 and Visual Studio 98 SP3. However, none of these versions of MDAC were released to the general public via the World Wide Web. MDAC 2.1 SP2 was distributed from Microsoft's website. The components that were included with 2.1 were:
 * ADO 2.1
 * RDS 2.1
 * OLE DB 2.1
 * the OLE DB Provider for ODBC, SQL Server and Oracle
 * JRO 2.1
 * a Jet driver
 * RDO.

This version had security vulnerabilities whereby an unchecked buffer could allow an elevated privileges attack. This was found some time later and it affected MDAC 2.1, 2.5 and 2.6 and was addressed in a later patch

MDAC 2.5
MDAC 2.5 was released on February 17, 2000, and distributed with Windows 2000, and the MDAC service packs were released in parallel with the Windows 2000 service packs. They were also distributed through Microsoft's website. Three service packs were released. The components included with 2.5 were:
 * ADO 2.5
 * ADO MD 2.5
 * ADOX 2.5
 * RDS 2.5
 * OLE DB 2.5
 * many OLE DB Providers
 * JRO 2.5
 * ODBC 3.51
 * many ODBC drivers
 * many Jet drivers.

Several issues were found in this version of MDAC. When using OLE DB Session Pooling, Microsoft COM+ would try to continuously load and unload OLE DB, and a conflict could arise that caused the OLE DB Session Pooling to run at 100% CPU usage. This was later fixed. Microsoft published a full list of bugs fixed in MDAC 2.5 Service Pack 2 and MDAC 2.5 Service Pack 3. A security vulnerability also existed (later fixed) whereby an unchecked buffer was found in the SQL Server Driver. This flaw was introduced in MDAC 2.5 SP2.

MDAC 2.6
MDAC 2.6 was released in September 2000 and was distributed through the web and with Microsoft SQL Server 2000 MDAC 2.6 RTM, SP1 (released June 20, 2001), and SP2 (released June 11, 2002) were distributed in parallel with the Microsoft SQL Server 2000 service packs, and could also be downloaded from the Microsoft website.

Beginning with this version of MDAC, Microsoft Jet, Microsoft Jet OLE DB Provider, and the ODBC Desktop Database Drivers were not included. Instead, these could be installed manually. Microsoft also released an alert warning that MDAC 2.6 should not be installed on an SQL Server 7.0 Cluster, because "if you install MDAC 2.6 or later on any node in the cluster, directly or through the installation of another program, it may cause a catastrophic failure of the SQL Server Agent or other SQL Server services." This issue affected Veritas Software's Backup Exec 9.0 for Windows Servers, because it installs Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) as its database. Revision 4367 installed MDAC version 2.6 SP2 while revision 4454 installed MDAC version 2.7 SP1, which did not have the problem

MDAC 2.7
MDAC 2.7 was released in October 2001 through Microsoft's website. A refresh release was issued in April 2002 through the release of Windows XP and through Microsoft's website. Version 2.7 was available in U.S. English, Chinese (Traditional and Simplified), German, Japanese, Korean, Brazilian Portuguese, Czech, Danish, Greek, Slovak, Slovenian, Spanish, Finnish, French, Hungarian, Italian, Dutch, Norwegian, Polish, Portuguese, Russian, Swedish, and Turkish. Hebrew and Arabic were only available through Windows XP.

The main feature change was support for Microsoft's 64-bit operating system, however support for Banyan VINES was also dropped from this version of MDAC. There were several known issues: MDAC 2.7 continued causing connectivity problems on clustered servers running Microsoft SQL Server 6.5 or SQL Server 7.0, with no workaround provided by Microsoft. When creating or configuring ODBC data source names (DSNs) using the Microsoft SQL Server ODBC driver the network library protocol might unexpectedly switch to TCP/IP, even if the DSN was configured to use named pipes. This issue was found by InfoWorld reporter Randall C. Kennedy, who identified that the change was actually made in MDAC 2.6 but was never documented. It was discovered when testing client/server database workloads on a Windows XP computer; InfoWorld claims that although overall server CPU utilization rose by only 8 percent using TCP/IP, context switches per second dropped by more than 150 percent (which is of course impossible because you would then have a negative context switch rate - the drop is either 33% or 60% depending on which planet the author was on at the time of writing) for a 10-user workload. They were unimpressed that a fundamental functional change to the default behaviour of Net-Lib occurred without more than a passing mention in an unrelated document. Windows XP users also sometimes experienced problems connecting to SQL Server because SQL Server attempts to use certificates it finds on the local computer, however if there is more than one certificate available it did not know which one to use. When attempting to use Microsoft Analysis Services 2000 RTM, an error would sometimes appear when trying to browse cubes. Microsoft also discovered a problem in Windows 95, Windows 98, and Windows Me's setup program which prevented the MDAC installation program from rolling back when it encountered an installation error.

Several security issues were resolved by Microsoft for MDAC 2.7. David Litchfield of Next Generation Security Software Ltd reported a security vulnerability that results because one of the ODBC functions in MDAC that is used to connect to data sources contained an unchecked buffer. Another vulnerability that was fixed was one whereby an attacker could respond to an SQL Server discovery message broadcast by clients with a specially crafted packet that could cause a buffer overflow. Another flaw was found whereby code could be executed remotely when the attacker responded to the broadcast with another specially crafted packet.

MDAC 2.8
MDAC 2.8 was released in August 2003 and distributed with Microsoft Windows Server 2003, as well as on Microsoft's Data Access Technologies website. It did not introduce any new features to the product but fixed a number of bugs and security issues – a reg file (automates changes to the registry) was removed that made the server run in an "unsafe" mode whereby the RDS could be exploited to gain unauthorized access to the system and a new restriction was imposed on the length of the Shape query string. There were also several ODBC Administrator changes.

On May 23, 2005, Brad Rhodes (Lead Program Manager of Microsoft Data Access Technologies) announced that MDAC 2.8 SP1 was the last stand-alone redistributable of MDAC that Microsoft will ship. MDAC is now an official component of the Microsoft's operating system, though they will be providing ongoing bug and security fixes to previously released versions of the web-distributable version. However, Microsoft have created a new component called the SQL Native Client (SQLNCLI), which is a stand-alone data access API that has combined the OLE DB and ODBC libraries into one DLL. It was formed to be independent of MDAC, which is now reliant on the state the operating system is in – a developer now links to this library and avoids situations where an update of the operating system which updates MDAC breaks applications built to a different version of MDAC.

Windows 7 SP1 has broken forward compatibility of MDAC 2.8. Software compiled on Windows 7 SP1 that relies on MDAC ADO will not work on Windows versions prior to Windows 7 SP1 (including Windows 7 RTM, Vista, XP). Microsoft has provided solutions to work around this issue for some applications but VBA applications remain affected. The fix for this issue has been release in February 2012.

Windows DAC 6.0
Windows Vista will no longer use MDAC, but instead use Windows DAC, which consists of updated versions of ADO, OLE DB, and ODBC components. According to Microsoft, "Windows DAC includes some changes to work with Windows Vista, but is almost entirely functionally equivalent to MDAC 2.8."

Version checking
There are two ways of checking the version of MDAC that is installed on a computer. For Windows 2000, Windows XP and Windows Server 2003, one way to check is via Microsoft's Component Checker program, which compares the value of each installed MDAC DLL to the MDAC file manifest. The second way is to check the key  in the Windows registry. Microsoft notes that this information may be incorrect for versions of MDAC prior to 2.1 when compared with the versions of the MDAC files installed to the system

title: Microsoft Data Access Components


text:
Portal talk:Ukraine/Ukraine news

Entire UA traffic police fired for corruption
Great photo. At least the cop salutes respectfully when he shakes down Sv. Mykolai for a cut of the Christmas goodies. —Michael Z. 2005-07-19 05:35 Z
 * The old guy seems more like Father Frost (Ded Moroz) :) with Snegurochka on the side. I doubt St. Nick walks around with a young girl, claiming she is a grand-daughter. The cop will now have to look for another job. The move to fire an entire police department is an unusual one for our times, isn't it? Cheers, --Irpen 06:34, July 19, 2005 (UTC)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Portal talk:Ukraine/Ukraine news


text: List of members of the Senate of Canada (B)


text:
User talk:Ryu Kobayashi

You joke, no?
"Ryu Kobayashi"?...hahahahahahahahahahahaha!!!!!!!!!!!!!!!! IZAK 05:35, 19 July 2005 (UTC)

Why was I blocked? This is unjust.

title: User talk:Ryu Kobayashi


text:
Justin Gage

Justin Charles Gage (born January 24, 1981) is a former American football wide receiver. He played college football at the University of Missouri. He was selected by the Chicago Bears in the fifth round of the 2003 NFL Draft. After four seasons with the Bears, he later played another four seasons with the Tennessee Titans.

College career
Gage attended the University of Missouri where he played both football and basketball. He was on the Tigers basketball team that reached the Elite Eight in the 2002 NCAA Men's Division I Basketball Tournament. In football, he started out as a quarterback, but moved to wide receiver in the spring of 2000. Coach Larry Smith converted him to a wide receiver and was fired that year.

Records
Gage holds the following records for football at the University of Missouri:

 * Most receptions, game: 16 (at Bowling Green, 9/14/02)
 * Most receptions, season: 82 (2002)
 * Most receptions, career: 200 — 1999–2002
 * Most yards gained, game: 236 (vs. Baylor, 11/10/01)
 * Most yards gained, career: 2,704 (Justin Gage, 1999–2002)
 * Most consecutive games with a reception: 34 (2000–2002)

Professional career
Gage spent four years with the Chicago Bears, but signed with the Tennessee Titans as a free agent following the 2006 season. In 2007 Gage tied for the Titans lead with 55 receptions and led the team with 750 receiving yards.

Gage was released by the Titans on September 3, 2011.

Coaching career
In 2021, Gage was hired as the wide receivers coach for CBC High School near St. Louis, Missouri.

title: Justin Gage


text:
Money clip

A money clip is a device typically used to store cash and credit cards in a very compact fashion for those who do not wish to carry a wallet.

Metal
A metal money clip is generally a solid piece of metal folded into half, such that the banknotes and credit cards are securely wedged in between the two pieces of metal. Metal money clips are typically made out of brass, stainless steel, silver, gold, titanium, or platinum. They are typically sold as luxury items. The chief disadvantage of a metal money clip is that, due to the inflexibility of the metal, it cannot typically hold large amounts of cash. Depending on the design, it may also be difficult to push the banknotes into the clip.

Carbon fiber

Carbon fiber money clips are starting to see market acceptance. Using advanced moulding techniques, the high strength and durability of carbon fiber make for ideal qualities. The carbon fiber allows the clamping surfaces to open beyond parallel, without the deformation of normal metal money clips. However, it can be too loose when holding less, so there is a tradeoff. Being non-metallic, they still conduct electrical current (due to the carbon fibers), so they can be picked up by metal detectors (you can test this out with a handheld security metal detector). The softer resin (plastic that bonds the carbon fibers together) means that it get scratched more easily than the tougher surface of metal money clip.

Magnetic
The magnetic money clip is generally made of two strong flat rectangular or round magnets encased in leather, with a small piece of leather separating the two pieces and allowing them to swivel into a closed and open position. There are also clips made of three magnets and two pieces of leather. A magnetic money clip typically has a greater carrying capacity than a metal money clip and the strongest clips are able to hold up to 15 banknotes folded in half. When holding a larger volume of banknotes a magnetic money clip has less clamping force, since the magnets are farther apart compared to when holding just a few banknotes. A metal or carbon fiber clip has inverse properties and the clamping tension gets higher as the clip is stretched open further. Magnetic money clips are not recommended for holding credit cards as the magnets may distort or erase the magnetic strip.

Money clip wallet
A money clip wallet is a clip designed specifically to hold both credit cards and cash. The conventional money clip wallets are a credit card holder with either a swivel magnetic clip attached to the back side or a solid clip that is bent 6-fold; bent that way the conventional clip will feature three compartments instead of one. Money clip wallets are sometimes known as hybrid money clips.

title: Money clip


text:
Wikipedia:Articles for deletion/Fiserv

 This page is an archive of the proposed deletion of the article below. Further comments should be made on the appropriate discussion page (such as the article's talk page or on a Votes for Undeletion nomination). No further edits should be made to this page.

The result of the debate was keep (no consensus). Sjakkalle (Check!)  08:52, 25 July 2005 (UTC)

Fiserv
Appears to be commercial advertisement. I unblanked it and sent it to VFD. —  F REAK OF N URxTURE  ( TALK )  05:37, July 19, 2005 (UTC)

 * Delete looks like anadvertising blurb as noted above. Leithp 08:49, July 19, 2005 (UTC)
 * Keep is a Nasdaq traded company. . NSR (talk) 09:46, 19 July 2005 (UTC)
 * Delete: It's advertising; therefore, it doesn't matter whether the company is major or minor, good or evil, your employer or mine.  This article is an ad.  Ads are not allowed.  Delete, unless you want to change the article. Geogre 18:12, 19 July 2005 (UTC)
 * I appreciate NSR's rewrite. He did a great job of removing the advertising.  Unfortunately, it's now a substub, so the rationale has changed, but I can't change my vote.  Still, I am sincere in being appreciative of his believing in his vote enough to actually do something about it. Geogre 18:33, 20 July 2005 (UTC)

 * Delete Advertising Salsb 21:02, 19 July 2005 (UTC)
 * Keep as rewritten by NSR. Pavel Vozenilek 00:10, 20 July 2005 (UTC)
 * Keep. Notable corporation. --YUL89YYZ 14:46, July 20, 2005 (UTC)
 * Keep as rewritten by NSR. DS1953 03:33, July 25, 2005 (UTC)
 * The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the article's talk page or in an undeletion request). No further edits should be made to this page.

title: Wikipedia:Articles for deletion/Fiserv


text: List of members of the Senate of Canada (C)


text:
Battle of the Bagradas River (240 BC)

The Battle of the Bagradas River was fought between a Carthaginian army led by Hamilcar Barca and a rebel force led by Spendius in 240 BC in what is now north-east Tunisia. Carthage was fighting a coalition of mutinous soldiers and rebellious African cities in the Mercenary War, which had started late the previous year in the wake of the First Punic War. The rebels were blockading Carthage and besieging the northern ports of Utica and Hippo (modern Bizerte). A Carthaginian army commanded by Hanno had attempted and failed to relieve Utica early in 240 BC. A second army was assembled in Carthage and entrusted to Hamilcar, who had commanded Carthaginian forces on Sicily for the last six years of the First Punic War.

The new Carthaginian army left Carthage and evaded the rebel blockade by crossing the Bagradas River (the modern Medjerda River) at its mouth. Rebel armies commanded by Spendius from both the Utica siege and a camp guarding the only bridge over the lower Bagradas River marched towards the Carthaginians. When they came into sight Hamilcar ordered the Carthaginians to feign a retreat. The rebels broke ranks to chase after the Carthaginians and this impetuous pursuit caused them to fall into confusion. Once the rebels had drawn close, the Carthaginians turned and charged them. The rebels broke and were routed. The Carthaginians pursued, killing or capturing many of the rebels and taking the fortifications guarding the bridge.

This victory gave Hamilcar freedom to manoeuvre and the operational initiative. He confronted towns and cities that had gone over to the rebels, bringing them back to Carthaginian allegiance. Spendius confronted Hamilcar again in the mountains of north west Tunisia and Hamilcar was again victorious. Spendius had his Carthaginian prisoners tortured to death. Hamilcar in turn had existing and future prisoners trampled to death by elephants. After two further years of increasingly bitter warfare the rebels were worn down and eventually defeated at the Battle of Leptis Parva.

Background
The First Punic War was fought between Carthage and Rome, the two main powers of the western Mediterranean in the 3rd century BC, and lasted for 23 years, from 264 to 241 BC. The two powers struggled for supremacy primarily on the Mediterranean island of Sicily and its surrounding waters, and also in North Africa. While the war with Rome was being fought on Sicily, the Carthaginian general Hanno led a series of campaigns that greatly increased the area of Africa controlled by Carthage. He extended its control to Theveste (modern Tébessa, Algeria) 300 km south-west of their capital and was rigorous in squeezing taxes out of the newly conquered territory to pay for both the war with Rome and his own campaigns. Half of all agricultural output was taken as war tax, and the tribute due from all towns and cities was doubled. These exactions were harshly enforced, causing extreme hardship in many areas.

After immense material and human losses on both sides during the First Punic War, the Carthaginians were defeated. The Carthaginian Senate ordered the commander of its forces on Sicily, Hamilcar Barca, to negotiate a peace treaty on whatever terms he could. Convinced that the surrender was unnecessary Hamilcar left Sicily in a rage and delegated negotiations to his deputy Gisco. The Treaty of Lutatius was agreed and brought the First Punic War to an end.

Mutiny

The post-war evacuation of the Carthaginian army of 20,000 men from Sicily was left in the hands of Gisco. He split the army into small detachments based on their regions of origin and sent these back to Carthage one at a time. He anticipated they would be promptly paid the several years back pay they were owed and hurried on their way home. The Carthaginian authorities decided instead to wait until all of the troops had arrived and then attempt to negotiate a settlement at a lower rate. They despatched the returning troops to Sicca Veneria (modern El Kef), 180 km away.

Freed of their long period of military discipline and with nothing to do, the men grumbled among themselves and refused all attempts by the Carthaginians to pay them less than the full amount due. Frustrated by the Carthaginian negotiators' attempts to haggle, all 20,000 troops marched to Tunis, 16 km from Carthage. Panicking, the Senate agreed to payment in full. The mutinous troops responded by demanding even more. Gisco, who had a good reputation with the army, was brought over from Sicily in late 241 BC and despatched to the camp with enough money to pay most of what was owed. He started to disburse this, with promises that the balance would be paid as soon as it could be raised, when discipline broke down. Several soldiers insisted that no deal with Carthage was acceptable, a riot broke out, men who stayed loyal to Carthage were stoned to death, Gisco and his staff were taken prisoner, and his treasury was seized.

The rebels declared Spendius, an escaped Roman slave who faced death by torture if he were recaptured, and Mathos, a Berber dissatisfied with Hanno's attitude towards tax-raising from Carthage's African possessions, their generals. The news of a formed, experienced, anti-Carthaginian army in the heart of its territory spread rapidly and many cities and towns rose in rebellion. Provisions, money and reinforcements poured in. Eventually another 70,000 men were recruited according to the ancient historian Polybius, although many would have been tied down in garrisoning their home towns against Carthaginian retribution. The pay dispute had become a full-scale revolt. The three years of war that followed are known as the Mercenary War and threatened Carthage's existence as a state.

Hanno's campaign
Hanno, as the commander of Carthage's African army, took the field. Most of the Africans in his force remained loyal; they were accustomed to acting against their fellow Africans. His non-African contingent had remained quartered in Carthage when the army of Sicily was expelled, and also remained loyal. The few troops still in Sicily were paid up to date and redeployed with Hanno, and money was raised to hire fresh troops. An unknown number of Carthaginian citizens were incorporated into his army. By the time this force was assembled, the rebels had already blockaded Utica and Hippo (modern Bizerte).

In early 240 BC Hanno set off with the army to relieve Utica; he took with him 100 elephants and a siege train. The Carthaginians stormed the rebels' camp in the Battle of Utica and their elephants routed the besiegers. Their army took over the camp and Hanno entered the city in triumph. However, the battle-hardened veterans of the Sicilian army regathered in the nearby hills and, not being pursued, returned towards Utica. The Carthaginians, accustomed to fighting the militias of the Numidian cities, were still celebrating their victory when the rebels counter-attacked. The Carthaginians fled, with great loss of life, losing their baggage and siege trains. For the rest of the year Hanno skirmished with the rebel force, repeatedly missing opportunities to bring it to battle or to place it at a disadvantage; the military historian Nigel Bagnall writes of Hanno's "incompetence as a field commander". The rebels reinforced their siege of Utica to 15,000 men, where Spendius took command and continued to restrict landward access to Carthage from their stronghold at Tunis. They also established a force of 10,000 men in a fortified camp at the only bridge over the lower Bagradas River (the modern Medjerda River).

Prelude
At some point during 240 BC the Carthaginians raised another army, of approximately 10,000. It included deserters from the rebels, newly hired mercenaries, citizen militia, 2,000 cavalry, and 70 elephants. This was placed under the command of Hamilcar, who had commanded the Carthaginian forces on Sicily for the last six years of the First Punic War. This was dangerously small for a sortie against the stronger rebel forces, especially so for a direct assault. The Carthaginians needed to gain the far side of the Bagradas, so they could manoeuvre freely, but lacked the strength to force a crossing against the superior rebel force guarding against this.

There was an underwater sandbar across the mouth of the Bagradas. This was too deeply submerged to be fordable under normal conditions, but Hamilcar was aware that when the wind blew strongly from the east it held back the flow of the Bagradas sufficiently for the sandbar to be crossable. Apparently the rebels were ignorant of this. With a strong easterly wind blowing, Hamilcar marched his army out of Carthage at night in great secrecy along the north shore of the isthmus towards the mouth of the Bagradas River. His movement was not detected by the rebels and at dawn he crossed the Bagradas River along the sandbar – the army had marched 16 km from Carthage and was now free to manoeuvre in the African countryside.

Opposing armies
Carthaginian armies were nearly always composed of foreigners; citizens only served in the army if there was a direct threat to the city of Carthage. Roman sources refer to these foreign fighters derogatively as "mercenaries", but the modern classicist Adrian Goldsworthy describes this as "a gross oversimplification". They served under a variety of arrangements; for example, some were the regular troops of allied cities or kingdoms seconded to Carthage as part of formal arrangements. The majority of these foreigners were from North Africa.

Libyans provided close-order infantry equipped with large shields, helmets, short swords and long thrusting spears; as well as close-order shock cavalry carrying spears (also known as "heavy cavalry") – both were noted for their discipline and staying power. Numidians provided light cavalry who threw javelins from a distance and avoided close combat, and javelin-armed light infantry skirmishers. Both Spain and Gaul provided experienced infantry; unarmoured troops who would charge ferociously, but had a reputation for breaking off if a combat was protracted. Specialist slingers were recruited from the Balearic Islands. The close order Libyan infantry and the citizen militia would fight in a tightly packed formation known as a phalanx. Sicilians and Italians had also joined up during the war to fill the ranks. The Carthaginians frequently employed war elephants; North Africa had indigenous African forest elephants at the time. The sources are not clear as to whether they carried towers containing fighting men.

The rebel armies would have been of similar composition and equipment to those of Carthage, including many experienced veterans of the army of Sicily, a large proportion more recent recruits. Most of this force was infantry; their cavalry component was both smaller than that of the Carthaginians and of poorer quality and the rebels lacked elephants entirely.

Engagement

While the Carthaginians were organising their forces, and probably eating and resting after their march, the rebels at the bridge – 8 km from the river mouth – and Utica – 15 km from the river mouth – rushed to confront them. Spendius sent the bulk of the rebels at Utica east, and pulled out nearly all of the men guarding the bridge. This gave him a total of over 20,000 rebels, possibly as many as 25,000, marching towards the 10,000 Carthaginians. Hamilcar advanced his army along the bank of the Bagradas towards the bridge, possibly hoping to attack the rebels at the bridge and defeat them in detail before they could be reinforced from Utica. The Carthaginians faced rebel forces converging on them from the west and north, each of approximately the same strength as the entire Carthaginian army. The Carthaginian column had their 70 elephants at the front, followed by heavy cavalry and light infantry, and the heavy infantry at the rear in several parallel columns; there were gaps between these components. There is no mention in the sources of cavalry scouts or outriders.

Much of the Carthaginian army was newly recruited, but Hamilcar had been able to train it in some drill and basic battlefield manoeuvres before they left Carthage. As the two rebel forces came into clear sight the Carthaginians wheeled, and marched away. The Carthaginians were marching in good order and carrying out a pre-planned manoeuvre which they had practised in Carthage. The rebels, many of whom were inexperienced soldiers, believed that the Carthaginians were running away. Shouting encouragement to each other they broke into a run to pursue. Spendius is believed to have been attempting to trap the outnumbered Carthaginians against the river with his two forces, pinning them with one and out-flanking them with the other. When his troops rushed towards the retreating Carthaginians, Spendius was either unable to control them, or also believed that the Carthaginians were fleeing and encouraged his forces' pursuit.

With the rebels some 500 m away, Hamilcar ordered the heavy infantry to wheel about again and take up a battle formation. As the cavalry and then the elephants came closer to the infantry Hamilcar ordered each in turn to also wheel about to face the rebels. The modern historian Dexter Hoyos stresses that "[s]uch manoeuvres were about the simplest that any army could learn, once it mastered the absolute basics of marching in formation". The leading rebel formation suddenly found itself not pursuing a shaken foe, but faced at close range by formed bodies of elephants and cavalry with more than 7,000 heavy infantry advancing behind them. By this point the rebels had completely lost formation, and even unit cohesion. The rebels in their leading units panicked and routed. At least part of this body was obstructed by the other rebel formation which was still charging towards the Carthaginians and they even came to blows as the men of the second group attempted to prevent those of the first from fleeing. Into this confusion charged the Carthaginian elephants and cavalry; in the words of the ancient historian Polybius "many were trampled when the cavalry and elephants attacked them at close quarters."

Hoyos speculates that the Carthaginian elephants and cavalry cut off large numbers of the routing rebels and trapped them against the Bagradas River, where the Carthaginian heavy infantry, marching up in good order, easily killed or captured them. The Carthaginian light infantry would have spread out across the battlefield, picking off the wounded and stragglers. The surviving rebels fled back to whence they came. Hamilcar promptly marched his infantry on the fortified camp guarding the bridge over the Bagradas. The rebels there barely paused in their flight before continuing to Tunis, taking the small garrison which had been left out of battle with them. Spendius was probably with this force, still unable to exert any control. Rebel losses were 6,000 killed and 2,000 captured. As a result of the battle Hamilcar had gained the operational initiative and the freedom to manoeuvre he desired.

Aftermath
While Hanno manoeuvred against Mathos to the north near Hippo, Hamilcar confronted several towns and cities that had gone over to the rebels, bringing them back to Carthaginian allegiance with varying mixtures of diplomacy and force. He was shadowed by a superior-sized rebel force, which kept to rough ground for fear of Hamilcar's cavalry and elephants, and harried his foragers and scouts. South west of Utica Hamilcar moved his force into the mountains in an attempt to bring the rebels to battle, but was surrounded. The Carthaginians were only saved from destruction when a Numidian leader, Naravas, who had served with and admired Hamilcar in Sicily, swapped sides with his 2,000 cavalry. This proved disastrous for the rebels; in the resulting battle they lost 10,000 killed and 4,000 captured.

Embittered by this betrayal, Spendius had his Carthaginian prisoners tortured, mutilated and killed. Hamilcar in turn had existing and future prisoners trampled to death by elephants. The Carthaginians fought a fierce and bitter campaign against the rebels, before wearing them down and finally defeated at the Battle of Leptis Parva in 238 BC.

title: Battle of the Bagradas River (240 BC)


text:
Wikipedia talk:VfD renomination limits

First talk
I assume the basic principles will be copied over: 1. Remove the listing from VfD 2. Untag the article 3. Inform the nominator of this policy ∞ Who ? ¿ ? 05:36, 19 July 2005 (UTC)
 * Yes. I did not want to include basic principles yet, since I want to see if there is even consensus on this idea, yet. Zscout370 (Sound Off) 05:37, 19 July 2005 (UTC)
 * Ok, you can remove that from the comments, if you want to avoid any bias, if you wish.  ∞ Who ? ¿ ?  05:38, 19 July 2005 (UTC)
 * I'll move it to the talk page. Zscout370 (Sound Off) 05:39, 19 July 2005 (UTC)
 * Moved. Zscout370 (Sound Off) 05:40, 19 July 2005 (UTC)
 * Acknowledged. (just to curb any question of the move). ∞ Who ? ¿ ?  05:43, 19 July 2005 (UTC)

One Month
I changed the policy to read one month, instead of three, because some said 3 months is too long. Zscout370 (Sound Off) 00:45, 20 July 2005 (UTC)
 * Should the name of the article subsequently be changed? I believe that it should be 3 months, but I am happy with 1 month. Perhaps more people would agree to it this way. DarthVader 09:50, 20 July 2005 (UTC)
 * I will give notice about the move, then a few days later, I will move it. Zscout370 (Sound Off) 17:05, 20 July 2005 (UTC)

 * The page should be named VfD renomination limits (currently a redir to this page). I think that is a better name since it is open to suggestions instead of narrowing it down to one limit alone. I'd say that it is urgent to do so, before we end up having multiple pages named Three month VfD policy. Two month VfD policy, Six weeks VfD policy, and many other possibilities. Nabla 00:15, 21 July 2005 (UTC)
 * I would copy-paste it but that's not usually allowed as a way to move things, because of the GFDL. Does it apply in Wikipedia: space? We can't just use the move button because the other page has a history. Does an admin fancy doing a nice complicated move and history-merge for us?-Splash 00:21, 21 July 2005 (UTC)
 * That sounds better, thanks Nabla. What I will do is ask for the admins to speedy delete the new page, then just move this one. Zscout370 (Sound Off) 00:29, 21 July 2005 (UTC)

 * I've just done a history merge to accomplish that. Radiant_ >|< 08:22, July 21, 2005 (UTC)

Redirect proposal
In keeping with my suggestion on Wikipedia talk:Kick the ass of anyone who renominates GNAA for deletion before 2007, I think this page should be redirected to Deletion policy, which now contains general guidance against repeated nominations. That should be sufficient to deal with the issue. --Michael Snow 20:52, 21 July 2005 (UTC)
 * Fine by me. Zscout370 (Sound Off) 20:54, 21 July 2005 (UTC)
 * Uh, can I raise an objection to that? We were, slowly, discussing a fairly distinct policy on this page (the actual page). I think that discussion should be allowed to run a bit. We can move it to the other talk page if you like, so long as the current project-page here is copy-pasted, but I think that's not too necessary. -Splash 21:05, 21 July 2005 (UTC)
 * Well, sure, you can always object to whatever happens here. We can continue the discussion, but if everyone who voted here wants to visit the policy page and see what is already established there. Zscout370 (Sound Off) 21:30, 21 July 2005 (UTC)
 * Feel free to review the changes I made to the deletion policy. I'm suggesting that the proposed policy here is an unnecessary overreaction to an extreme set of circumstances. There's no hurry and the discussion can be allowed to run if you prefer, but I'm confident that this will not be adopted as policy because many people will reject it as instruction creep. The redirect would save people from wasting their time. --Michael Snow 22:11, 21 July 2005 (UTC)

Yes, I think you're probably right, actually, and I was only really toying it with it in my head. I noticed the changes when you made them to the deletion policy, and it seems well-phrased enough. Go ahead with the redirect (I'm not sure if you are history merging or not, so I'll leave it to you). -Splash 22:32, 21 July 2005 (UTC)

title: Wikipedia talk:VfD renomination limits


text:
KXTE

KXTE (107.5 FM, X107-5) is a commercial radio station licensed to Pahrump, Nevada, and serving the Las Vegas metropolitan area. It is owned by the Beasley Broadcast Group and broadcasts an alternative rock format. KXTE is the flagship station of the nationally syndicated weekday program Dave and Mahoney. KXTE's studios are on South Durango Drive in Las Vegas.

KXTE has an effective radiated power (ERP) of 24,500 watts. Its transmitter is atop Potosi Mountain in Blue Diamond. KXTE broadcasts using HD Radio technology. Its HD-2 digital subchannel plays country music.

K-Love (1986–1988)
KLVV began broadcasting in Las Vegas on the 107.5 frequency in April 1986. It was an adult contemporary station calling itself "K-Love." (It was not connected with the current day Christian Contemporary network known as K-Love.)

Oldies 108 (1988–1992)
In November 1988, the station, now owned by EZ Communications, became KUDA, "Oldies 108 FM." Norm N. Nite once had a show on the station, called Solid Gold Scrapbook. In 1989, KUDA was purchased by Americom Broadcasting, which owned stations in Reno and Fresno.

KFBI (1992–1996)
Americom, headed by Tom Quinn, added Howard Stern’s show to the station in 1992, changed the station's call letters to KFBI and transitioned from oldies to classic rock in 1993. This was the first time Stern agreed to appear on a station outside of a top-10 radio market, and KFBI immediately surged to the top of ratings in Las Vegas, making KFBI the city's dominant radio station.

Alternative rock (1996–2022)
Three years later, in April 1996, Americom sold KFBI to American Radio Systems (ARS), where PD Mike Stern and GM Alan Gray changed the call letters to KXTE, flipped the station's format to alternative rock, and rebranded the station as “X 107.5”. ARS later merged with Infinity Broadcasting (forerunner to CBS Radio).

Stern stayed on KXTE until the station pulled him in November 2005, a month before he left terrestrial radio for Sirius Satellite Radio. He was replaced by Adam Carolla, which began airing on January 3, 2006, and ended on February 20, 2009. Dave Farra and Jason Mahoney, hosts of The Dave and Mahoney Morning Show, returned to the Las Vegas airwaves to take over mornings on April 20, 2009. On August 3, 2015, it was announced that Dave and Mahoney would re-locate from Las Vegas to CBS Radio sister station KHMX in Houston. On January 15, 2017, it was announced that the show would return to KXTE starting February 6.

On February 2, 2017, CBS Radio announced it would merge with Entercom (now Audacy). The merger was approved on November 9, 2017, and was consummated on November 17.

On September 14, 2020, KXTE rebranded as Alt 107.5 as part of a nationwide expansion of networked programming and the Alt brand across Entercom's alternative stations. As part of this, KXTE program director and afternoon host Ross Mahoney was let go, while "Dave & Mahoney" remained in mornings and would be syndicated to San Diego sister station KBZT. In addition, KXTE would add KROQ Los Angeles host Nicole Alvarez for middays, KRBZ Kansas City's "Church of Lazlo" for afternoons, and WNYL New York's Kevan Kenney and Bryce Segall for nights and overnights, respectively. By mid-2022, the station had dropped most of the out of market programming and was being programmed locally again.

On October 6, 2022, it was announced that Audacy and Beasley Broadcast Group would swap a pair of stations in Las Vegas, with Audacy swapping ownership of KXTE to Beasley in exchange for KDWN and translator K268CS. The company stated that the syndicated Dave & Mahoney show, based at KXTE, will remain on the station upon the closure of the deal. Beasley would begin operating the station through a local marketing agreement on November 14, at which time the station dismissed the entirety of the airstaff and began running jockless with limited imaging outside of Dave & Mahoney.

Hot talk, return to alternative (2022–present)
On December 19, 2022, KXTE returned to its prior X107.5 branding with the new slogan "Xtreme Radio", and changed its weekday lineup to focus on hot talk programs; Dave & Mahoney remains the station's morning/flagship show, and would be joined by the syndicated Free Beer and Hot Wings Show in middays, and Dave & Chuck the Freak from sister station WRIF in Detroit (which airs live in early mornings, and is replayed in afternoon drive). Alternative rock would continue to be featured during overnights and weekends. The acquisition of the station by Beasley was consummated on December 22, 2022.

The hot talk format failed to impact the market, bottoming out with a 1.4 share of the Nielsen market ratings for June 2023. As such, on July 28, 2023, at 10 a.m. (dropping the hot talk format midway through the song "Somebody That I Used to Know" by Gotye), coinciding with the station's addition of former KXTE and KOMP host Carlota Gonzalez, the station shifted back completely to alternative rock still under the "X" brand, with the move being deemed a "music takeover" led by Gonzalez to "bring the X you know back". The new iteration of the format primarily focuses on 1990s/2000s classic alternative, with a lean toward harder rock. With the move, the station dropped "Free Beer and Hot Wings" from middays, but retained Dave and Chuck the Freak in late afternoons, as well as Beasley's syndicated "Cooper and Anthony" in evenings for a time; both programs have since been dropped.

Other appearances
Dave Farra's interview with cast members from the 2011 season of MTV reality television series, The Real World: Las Vegas, who were promoting their fundraiser for "Let the Kids Rock" to raise money for school children, was depicted in that season's finale, which premiered on June 1, 2011.

KXTE HD programming

 * KXTE-HD2 signed on its HD Radio programming in 2001 with X2, a deep tracks alternative format, then in 2010, flipped to an all-80s format branded as "Rewind". On January 22, 2014, KXTE-HD2 flipped to dance radio, branded as "SIN 107.5". “SIN” would later be replaced with a classic hits format, branded as “DLC Radio” and sponsored full-time by short-term loan provider Dollar Loan Center.

title: KXTE


text: List of members of the Senate of Canada (D)


text:
Tellurate

In chemistry, tellurate is a compound containing an oxyanion of tellurium where tellurium has an oxidation number of +6. In the naming of inorganic compounds it is a suffix that indicates a polyatomic anion with a central tellurium atom.

Tellurium oxyanions
Historically the name tellurate was only applied to oxyanions of tellurium with oxidation number +6, formally derived from telluric acid Te(OH)6, and the name tellurite referred to oxyanions of tellurium with oxidation number +4, formally derived from tellurous acid (HO)2TeO and these names are in common use. However tellurate and tellurite are often referred to as tellurate(VI) and tellurate(IV) respectively in line with IUPAC renaming recommendations. The metatellurate ion is and the orthotellurate ion is. Other oxyanions include pentaoxotellurate,, ditellurate,  and polymeric anions with 6-coordinate tellurium such as n.

Metatellurates
The metatellurate ion is analogous to the sulfate ion,  and the selenate ion,. Whereas many sulfates and selenates form isomorphous salts the tetrahedral metatellurate ion is only found in a few compounds such as the tetraethylammonium salt NEt4TeO4. Many compounds with a stoichiometry that suggests the presence of a metatellurate ion actually contain polymeric anions containing 6-coordinate tellurium(VI), for example sodium tellurate, Na2TeO4 which contains octahedral tellurium centers sharing edges.

 * → + 1⁄2 O2     (E0 = −1.042 V)

The E0 or standard reduction potential value is significant as it gives an indication of the strength of the tellurate ion as an oxidizing agent.

Orthotellurates
Compounds containing the octahedral anion are known, these include Ag6TeO6, Na6TeO6 and Hg3TeO6. There are also hydroxyoxotellurates, containing protonated, such as (NH4)2TeO2(OH)4 (sometimes written as NH4TeO4*2H2O) which contains the octahedral ion.

ion
The compound Cs2K2TeO5 contains ions which are trigonal bipyramidal. The compound Rb6Te2O9 contains both and  anions. Other compounds whose stoichiometry suggests the presence of may contain either the dimeric  made up of two edge-sharing {TeO6} as in Li4TeO5 and Ag4TeO5 or corner-sharing {TeO6} octahedra as in Hg2TeO5.

Polymeric tellurate ions
The dimeric made up of two edge sharing {TeO6} octahedra is found in the compound Li4TeO5. A similar hydroxy-oxy anion, Te2O6(OH)4 is found in sodium potassium ditellurate(VI) hexahydrate, Na0.5K3.5Te2O6(OH)4*6H2O which contains pairs of edge sharing octahedra. Polymeric chain anions consisting of corner-shared {TeO6} octahedra (TeO5)$4n− n$ are found, for example in Li4TeO5.

Aqueous chemistry
In aqueous solution tellurate ions are 6 coordinate. In neutral conditions the pentahydrogen orthotellurate ion,, is the most common; in basic conditions, the tetrahydrogen orthotellurate ion, , and in acid conditions, orthotelluric acid, Te(OH)6 or H6TeO6 is formed.

Structural comparisons with oxyanions of sulfur and selenium
Sulfur(VI) oxyanions have a coordination number of 4 and in addition to the tetrahedral sulfate ion,, the pyrosulfate, , trisulfate, and pentasulfate  ions all contain 4-coordinate sulfur and are built from corner-shared {SO4} tetrahedra. Selenate compounds include many examples of four coordinate selenium, principally the tetrahedral ion and the pyroselenate ion,  which has a similar structure to the pyrosulfate ion. Unlike sulfur there are examples of a 5-coordinate selenium oxyanion, and one example of.

NMR spectroscopy
Tellurium has two NMR active nuclei, 123Te and 125Te. 123Te has an abundance of 0.9% and a nuclear spin ($I$) of $1⁄2$. 125Te has an abundance of 7% and an equivalent nuclear spin. 125Te is more commonly performed because it has a higher sensitivity. The metatellurate anion has a chemical shift around 610 ppm when analyzed using 125Te NMR at 25 °C at a frequency of 94.735 MHz and referenced externally against aqueous 1.0 M telluric acid.

The tellurate suffix in the naming of inorganic compounds
Following the IUPAC Red Book(2005) some examples are:
 * metatellurate ion, or tetraoxotellurate(VI) is tetraoxidotellurate(2–)
 * orthotellurate ion, or hexaoxotellurate(VI) is hexaoxidotellurate(6–)
 * octafluorotellurate(VI) ion is octafluoridotellurate(2–).

title: Tellurate


text: List of members of the Senate of Canada (E)


text:
Mark 45 torpedo

The Mark 45 anti-submarine torpedo, a.k.a. ASTOR, was a submarine-launched wire-guided nuclear torpedo designed by the United States Navy for use against high-speed, deep-diving, enemy submarines. This was one of several weapons recommended for implementation by Project Nobska, a 1956 summer study on submarine warfare. The 19 in-diameter torpedo was fitted with a W34 nuclear warhead. The need to maintain direct control over the warhead meant that a wire connection had to be maintained between the torpedo and submarine until detonation. Wire guidance systems were piggybacked onto this cable, and the torpedo had no homing capability. The design was completed in 1960, and 600 torpedoes were built between 1963 and 1976, when ASTOR was replaced by the Mark 48 torpedo.

Design
This electrically propelled, 19 in-diameter torpedo was 227 in long and weighed 2400 lb. The W34 nuclear warhead used in ASTOR had an explosive yield of 11 kilotons. The requirement for positive control of nuclear warheads meant that ASTOR could only be detonated by a deliberate signal from the firing submarine, which necessitated a wire link. Because of this, the torpedo was only fitted with wire guidance systems (transmitted over the same link), and had no homing capability. The torpedo had a range of 5 to 8 mi. By replacing the nuclear warhead and removing the wire guidance systems, the torpedo could be reconfigured for unguided launch against surface targets.

History
Production of ASTOR began in 1959 and it entered service soon after. Approximately 600 torpedoes were built by 1976, when the torpedo was replaced by the Mark 48 torpedo. The ASTORs were collected, fitted with conventional warheads and wake homing guidance systems, then sold to foreign navies as the Mark 45 Mod 1 Freedom Torpedo.

title: Mark 45 torpedo


text:
User talk:Aftermayintoaug

Welcome
Welcome to Wikipedia, the greatest encyclopedia on Earth! You seem to be off to a good start. Hopefully you will soon join the vast army of Wikipediholics! You may wish to review the welcome page, tutorial, and stylebook, as well as the avoiding common mistakes and Wikipedia is not pages. You may also want to check out Merge, for information about merging, renaming and moving pages. The Wikipedia directory is also quite useful. In addition, you might want to add yourself to the new user log; if you made any edits before getting an account, you may wish to assign those to your username.

By the way, an important tip: To sign comments on talk pages, simply type four tildes, like this: ~~~~. This will automatically add your name and the time after your comments.

Finally, here are some open tasks:

Other links for reference: Wikiquette, image copyright tags, Merge Hope to see you around the Wiki! Remember to be Bold! with your edits, and if you have any questions whatsoever, feel free to contact me on my talk page! ∞ Who ? ¿ ? 05:43, 19 July 2005 (UTC)

title: User talk:Aftermayintoaug