80
×î РÆÀ ÂÛ
80
ר Ìâ ·Ö Àà
80
×î РÈÕ Ö¾
80
×î РÁô ÑÔ
80
ËÑ Ë÷
Óà »§ µÇ ¼
ÓÑ Çé Á¬ ½Ó
ÎÒ µÄ ºÃ ÓÑ
80
²© ¿Í ЊϢ
80


ÈçºÎ·ÃÎÊODBC | 2007/7/2 20:51:00
ADO URL Connections
ADO 2.5+ allows you to open up a Recordset based on XML returned from an ASP file over HTTP.¡¡
This feature doesn't use RDS at all.

ADO Recordset
¡¡
To get records from a remote database:

oRs.Open "http://carlp0/Authors_GetByState.asp?state=CA";, , _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ adOpenStatic, adLockBatchOptimistic

To save changes, you must use the MSXML's XMLHTTP object to POST back the updated XML.¡¡
The Recordset's Update and UpdateBatch methods will not work in this case.

' Save Recordset into Stream
Set oStm = New ADODB.Stream
oRs.Save oStm, adPersistXML

' Use MSXML's XMLHTTP object to open ASP and post a XML stream
Set oXMLHTTP = New MSXML2.XMLHTTP30
oXMLHTTP.Open "POST", "http://carlp0/Authors_Save.asp";, False
oXMLHTTP.Send oStm.ReadText

' If an error occurred
If oXMLHTTP.Status = 500 Then
¡¡ Debug.Print oXMLHTTP.statusText
End If

For more information, see: ADO Recordset's Open Method



=========================================
MS Remote Provider Connections

The following connections strings use Microsoft's remote provider (MS Remote). The MS Remote
provider tells ADO to communicate with the remote server (via the RDS DataFactory) and to use
the remote provider that is installed on the remote server.

WARNING: The RDS DataFactory can be a major security hole if not setup and configured correctly!¡¡
For more information, see RDS FAQ #24
¡¡¡¡
--------------------------------------------------------------------------
MS Remote - Access (Jet)
¡¡
If you want to use an ODBC DSN on the remote machine:

oConn.Open "Provider=MS Remote;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Server=http://myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Provider=MSDASQL;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "DSN=AdvWorks;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Uid=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Pwd=myPassword;"

If you want to use an OLE DB Provider on the remote machine:

oConn.Open "Provider=MS Remote;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Server=http://myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=c:\somepath\mydb.mdb;", _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "admin", ""

If you want to use an OLE DB Provider on the remote machine (via RDS DataFactory Default Handler):

oConn.Open "Provider=MS Remote;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Server=http://myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Handler=MSDFMAP.Handler;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=MyAdvworksConn;"

The corresponding entry in the \winnt\Msdfmap.ini file would be:

[connect MyAdvworksConn]
Access = ReadWrite
Connect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=mydb.mdb;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "User Id=admin;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Password=;"
¡¡
-------------------------------------------------------------------------------------
MS Remote - SQL Server
¡¡
If you want to use an ODBC DSN on the remote machine:

oConn.Open "Provider=MS Remote;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Server=http://myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Provider=MSDASQL;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "DSN=myDatabaseName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Uid=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Pwd=myPassword;"

If you want to use an OLE DB Provider on the remote machine:

oConn.Open "Provider=MS Remote;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Server=http://myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Remote Provider=SQLOLEDB;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Initial Catalog=myDatabaseName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "User ID=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Password=myPassword;"

If you want to use an OLE DB Provider on the remote machine (via RDS DataFactory Default Handler):

oConn.Open "Provider=MS Remote;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡"Remote Server=http://myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡"Handler=MSDFMAP.Handler;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡"Data Source=MyPubsConn;"

The corresponding entry in the \winnt\Msdfmap.ini file would be:

[connect MyPubsConn]
Access = ReadWrite
Connect = "Provider=SQLOLEDB;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Initial Catalog=myDatabaseName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "User ID=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Password=myPassword;"

For more information, see: Microsoft OLE DB Remoting Provider¡¡ and Q240838


======================================
Data Shape Provider Connections

MS DataShape - SQL Server
¡¡
oConn.Open "Provider=MSDataShape;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Provider=SQLOLEDB;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=mySQLServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Initial Catalog=myDatabase;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "User ID=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Password=myPassword;"

Then use a Shape command with SQL strings:
sSQL = "SHAPE {select * from authors} " & _
¡¡¡¡¡¡¡¡¡¡ "APPEND ({select * from titleauthor} AS chapter " & _
¡¡¡¡¡¡¡¡¡¡ "RELATE au_id TO au_id)"

Or use a Shape command that calls Stored Procedures:
sSQL = "SHAPE {exec spAuthors_LoadAll} " & _
¡¡¡¡¡¡¡¡¡¡ "APPEND ({exec spTitleAuthor_LoadAll} AS chapter " & _
¡¡¡¡¡¡¡¡¡¡ "RELATE au_id TO au_id)"

For more information, see: Microsoft Data Shaping Service for OLE DB and Q288409


==================================
.NET Managed Provider Connections

SQL Client .NET Managed Provider (System.Data.SqlClient)
¡¡
The SQL Client .NET Managed Provide allows you to connect to a Microsoft SQL Server 7.0
or 2000 database. For Microsoft SQL Server 6.0 or earlier, use the OLE DB .NET Data Provider
with the "SQL Server OLE DB Provider" (SQLOLEDB).

Dim oSQLConnection As SqlClient.SqlConnection
Dim sConnString As String

sConnString = "Data Source=(local);" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Initial Catalog=NorthWind;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Integrated Security=SSPI;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Pooling=True;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Min Pool Size=10;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Max Pool Size=50;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Connection Lifetime=30;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Connection Reset=True;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Enlist=True;"
oSQLConnection = New SqlClient.SqlConnection(sConnString)
oSQLConnection.Open()

For more information, see: System.Data.SQL Namespace and .NET Data Providers
Note: 'SQL' namespace got renamed to 'SQLClient'

----------------------------------------------------------------------------
OLE DB .NET Managed Provider (System.Data.OleDb)
¡¡
The OLE DB .NET Data Provider uses native OLE DB through COM interop to enable data access.¡¡
To use the OLE DB .NET Data Provider, you must also use an OLE DB provider (e.g. SQLOLEDB,
MSDAORA, or Microsoft.JET.OLEDB.4.0).

For SQL Server OLE DB Provider (for SQL Server 6.0 or earlier)

Dim oOleDbConnection As OleDb.OleDbConnection
Dim sConnString As String

sConnString = "Provider=sqloledb;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=myServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡ "Initial Catalog=myDatabaseName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡ "User Id=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Password=myPassword;"
oOleDbConnection = New OleDb.OleDbConnection(sConnString)
oOleDbConnection.Open()

For JET OLE DB Provider:

Dim oOleDbConnection As OleDb.OleDbConnection
Dim sConnString As String

sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Data Source=C:\Work\nwind.mdb;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "User ID=Admin;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Password="";"
oOleDbConnection = New OleDb.OleDbConnection(sConnString)
oOleDbConnection.Open()

For more information, see: System.Data.OleDb Namespace and .NET Data Providers
Note: 'ADO' namespace got renamed to 'OleDb'


ODBC .NET Managed Provider (System.Data.ODBC)
¡¡
The ODBC .NET Data Provider is an add-on component to the .NET Framework SDK Beta 2.
It provides access to native ODBC drivers the same way the OLE DB .NET Data Provider
provides access to native OLE DB providers.

For SQL Server ODBC Driver:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Driver={SQL Server};" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Server=MySQLServerName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Database=MyDatabaseName;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Uid=MyUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Pwd=MyPassword;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

For Oracle ODBC Driver:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Driver={Microsoft ODBC for Oracle};" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Server=OracleServer.world;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Uid=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Pwd=myPassword;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

For Access (JET) ODBC Driver:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Driver={Microsoft Access Driver (*.mdb)};" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Dbq=c:\somepath\mydb.mdb;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Uid=Admin;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Pwd=;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

For all other ODBC Drivers:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Dsn=myDsn;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Uid=myUsername;" & _
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "Pwd=myPassword;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()
ÔĶÁÈ«ÎÄ | »Ø¸´(0) | ÒýÓÃͨ¸æ | ±à¼­ | By: ƤƤ°Ö°Ö

·¢±íÆÀÂÛ£º

    ´óÃû£º
    ÃÜÂ룺 (ÓοÍÎÞÐëÊäÈëÃÜÂë)
    Ö÷Ò³£º
    ±êÌ⣺
    80
Powered by Oblog.