OLE DB 中,如何通过IP连到SQL SERVER 数据库上 ODBC数据源,配置系统数据源,选择SQL SERVER,在想与哪一个服务器连接时输入IP地址,当然你得安装TCP/IP协议 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置服务器SQL Server启用TCP/IP协议(在SQL Server的"SQL Server服务器网络实用工具"中添加) 我的SQL SERVER 已有TCP/IP,PORT :1433还是连不上。 1建立一个数据源2建立RDO对象3通过连接字符串访问。出处:www.csdn.net连接数据库查询手册(不仅仅适用于asp)(ghj1976 转贴)出处:http://www.active.com.cn正文:下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider.1。ODBC DSN连接I.DSN oConn.Open "DSN=AdvWorks;" & _ "UID=Admin;" & _ "PWD=;"注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中 你必须同时使用DSN,UID,PWD标志。例如下面的方式在MDAC 2.1中将会出错: oConn.Open "AdvWorks"II.File DSN oConn.Open "FILEDSN=\somepath\mydb.dsn;" & _ "UID=Admin;" & _ "PWD=;"III.ODBC DSN-Less Connectionsa)ODBC Text Driver oConn.Open _ "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _ "Dbq=\somepath\;" & _ "Extensions=asc,csv,tab,txt;" & _ "Persist Security Info=False"注意:需要在SQL语句中指定使用到的文件名。例如: oRs.Open "Select * From customer.csv", _ oConn, adOpenStatic, adLockReadOnly, adCmdTextb)ODBC Driver for Access i)普通安全模式: oConn.Open _ "Driver={Microsoft Access Driver (*.mdb)};" & _ "Dbq=\somepath\mydb.mdb;" & _ "Uid=Admin;" & _ "Pwd=;" ii)如果使用了System database: oConn.Open _ "Driver={Microsoft Access Driver (*.mdb)};" & _ "Dbq=\somepath\mydb.mdb;" & _ "SystemDB=\somepath\mydb.mdw;", _ "admin", ""c)ODBC Driver for SQL Server i)普通安全模式 oConn.Open "Driver={SQL Server};" & _ "Server=carl2;" & _ "Database=pubs;" & _ "Uid=sa;" & _ "Pwd=;" ii)使用信任安全模式: oConn.Open "Driver={SQL Server};" & _ "Server=carl2;" & _ "Database=pubs;" & _ "Uid=;" & _ "Pwd=;" 注意:要使用空白的Uid和Pwd d)ODBC Driver for Oracle i)使用现有的Oracle ODBC Driver from Microsoft: oConn.Open _ "Driver={Microsoft ODBC for Oracle};" & _ "Server=OracleServer.world;" & _ "Uid=demo;" & _ "Pwd=demo;" ii)使用老版本的Oracle ODBC Driver from Microsoft: oConn.Open _ "Driver={Microsoft ODBC Driver for Oracle};" & _ "ConnectString=OracleServer.world;" & _ "Uid=demo;" & _ "Pwd=demo;"IIII)使用微软的OLE DB Data Link Connections方式Data Link File (UDL)a)使用绝对路径 oConn.Open "File Name=\somepath\pubs.udl;" b)使用相对路径 oConn.Open "File Name=pubs.udl;" V)OLE DB Provider Connections方式a)OLE DB Provider for ODBC Databases i)Access (Jet): oConn.Open _ "Provider=MSDASQL;" & _ "Driver={Microsoft Access Driver (*.mdb)};" & _ "Dbq=\somepath\mydb.mdb;" & _ "Uid=Admin;" & _ "Pwd=;" ii)SQL Server: oConn.Open _ "Provider=MSDASQL;" & _ "Driver={SQL Server};" & _ "Server=carl2;" & _ "Database=pubs;" & _ "Uid=sa;" & _ "Pwd=;"b)OLE DB Provider for Microsoft Jet (Access) i)普通安全模式: oConn.Open _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=\somepath\mydb.mdb;" & _ "User Id=admin;" & _ "Password=;" ii)如果使用了System database: oConn.Open _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=\somepath\mydb.mdb;" & _ "Jet OLEDB:System Database=system.mdw;", _ "admin", "" 注意:当使用OLE DB Provider4.0版本是,需要把MDB和MDW文件转换成4.0的数据库格式 iii)如果MDB需要一个数据库密码的话: oConn.Open _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=\somepath\mydb.mdb;" & _ "Jet OLEDB:Database Password=MyDbPassword;", _ "admin", ""c)OLE DB Provider for Excel Spreadsheet: oConn.Open _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=\somepath\expenses.xls;" & _ "Extended Properties=""Excel 8.0;HDR=Yes;"";" 注意: "HDR=Yes"表示在第一行中是行标题,在provider中将不把第一行包括入recordset中d)OLE DB Provider for SQL Server i)普通安全模式: oConn.Open "Provider=sqloledb;" & _ "Network Library=DBMSSOCN;" & _ "Data Source=carl2;" & _ "Initial Catalog=pubs;" & _ "User Id=sa;" & _ "Password=;" ii)使用信任安全模式: oConn.Open "Provider=sqloledb;" & _ Network Library=DBMSSOCN;" & _ "Data Source=carl2;" & _ "Initial Catalog=pubs;" & _ "Trusted_Connection=yes;" 注意:"Network Library=DBMSSOCN"声明OLE DB使用TCP/IP替代Named Pipes.e)OLE DB Provider for Oracle oConn.Open "Provider=msdaora;" & _ "Data Source=OracleServer.world;" & _ "User Id=sa;" & _ "Password=;"(VI)Remote OLE DB Provider Connections方式(就是我一直在研究的RDS方式哦,呵呵。):a)MS Remote - Access (Jet) i)ODBC DSN: oConn.Open "Remote Server=http://carl2;" & _ "Remote Provider=MSDASQL;" & _ "DSN=AdvWorks;" & _ "Uid=admin" & _ "Pwd=;" ii)OLE DB Provider: oConn.Open "Provider=MS Remote;" & _ "Remote Server=http://carl2;" & _ "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=\somepath\mydb.mdb;", _ "admin", "" iii)OLE DB Provider自定义事务对象 oConn.Open "Provider=MS Remote;" & _ "Remote Server=http://carl2;" & _ "Handler=MSDFMAP.Handler;" & _ "Data Source=MyAdvworksOLEDBConnectTag;"b)MS Remote - SQL Server i)ODBC DSN: oConn.Open "Remote Server=http://carl2;" & _ "Remote Provider=MSDASQL;" & _ "Network Library=DBMSSOCN;" & _ "DSN=Pubs;" & _ "Uid=sa" & _ "Pwd=;" ii)OLE DB Provider oConn.Open "Provider=MS Remote;" & _ "Remote Server=http://carl2;" & _ "Remote Provider=SQLOLEDB;" & _ "Network Library=DBMSSOCN;" & _ "Data Source=carl2;" & _ "Initial Catalog=pubs;" & _ "User ID=sa;" & _ "Password=;" 上面的是很详细,也很有用,可我需要ATL连接的OLE DB 模式,而不是ADO,不过最后我会给分的,谢谢 是用OLE DB CONSUMER 方式 给你一个列子吧。1、纯SDK 模式void InitializeAndEstablishConnection(){ //Initialize the COM library. CoInitialize(NULL); //Obtain access to the SQLOLEDB provider. hr = CoCreateInstance( CLSID_SQLOLEDB, NULL, CLSCTX_INPROC_SERVER, IID_IDBInitialize, (void **) &pIDBInitialize); if (FAILED(hr)) { cout << "Failed in CoCreateInstance().\n"; } /* Initialize the property values needed to establish the connection. */ for(i = 0; i < nInitProps; i++) VariantInit(&InitProperties[i].vValue); //Specify server name. InitProperties[0].dwPropertyID = DBPROP_INIT_DATASOURCE; InitProperties[0].vValue.vt = VT_BSTR; InitProperties[0].vValue.bstrVal = SysAllocString(L"127.0.0.1"); InitProperties[0].dwOptions = DBPROPOPTIONS_REQUIRED; InitProperties[0].colid = DB_NULLID; //Specify database name. InitProperties[1].dwPropertyID = DBPROP_INIT_CATALOG; InitProperties[1].vValue.vt = VT_BSTR; InitProperties[1].vValue.bstrVal = SysAllocString(L"pubs"); InitProperties[1].dwOptions = DBPROPOPTIONS_REQUIRED; InitProperties[1].colid = DB_NULLID; //Specify username (login). InitProperties[2].dwPropertyID = DBPROP_AUTH_USERID; InitProperties[2].vValue.vt = VT_BSTR; InitProperties[2].vValue.bstrVal = SysAllocString(L"sa"); InitProperties[3].dwOptions = DBPROPOPTIONS_REQUIRED; InitProperties[3].colid = DB_NULLID; //Specify password. InitProperties[3].dwPropertyID = DBPROP_AUTH_PASSWORD; InitProperties[3].vValue.vt = VT_BSTR; InitProperties[3].vValue.bstrVal = SysAllocString(L"lovevc++"); InitProperties[3].dwOptions = DBPROPOPTIONS_REQUIRED; InitProperties[3].colid = DB_NULLID; /* Now that properties are set, construct the DBPROPSET structure (rgInitPropSet). The DBPROPSET structure is used to pass an array of DBPROP structures (InitProperties) to the SetProperties method. */ rgInitPropSet[0].guidPropertySet = DBPROPSET_DBINIT; rgInitPropSet[0].cProperties = 4; rgInitPropSet[0].rgProperties = InitProperties; //Set initialization properties. hr = pIDBInitialize->QueryInterface( IID_IDBProperties, (void **)&pIDBProperties); if (FAILED(hr)) { cout << "Failed to obtain IDBProperties interface.\n"; } hr = pIDBProperties->SetProperties( nPropSet, rgInitPropSet); if(FAILED(hr)) { cout << "Failed to set initialization properties.\n"; } pIDBProperties->Release(); //Now establish a connection to the data source. if(FAILED(pIDBInitialize->Initialize())) { cout << "Problem in initializing.\n"; }} //end of InitializeAndEstablishConnection.2、ATL 模式 不用我说了吧,用CDataSource,然后把上面相应的属性通过CDBPropSet添加进去就OK了。哈哈 求大神,提高效率 ADO连接SQL Server数据库时IP地址问题 一个菜鸟问题 谢谢 win7下无法安装Sql2008Help me.TKS。 求前辈们指点,关于数据库设计的问题,在线等。。。。 安装sql server 2008出错,向高手求救,在线等 求SQL销售日报表的语句 这要索引会不会失效?????????? SET @CategoryID = @@IDENTITY书上写得太简单请给解释一下。(最好全都解释) 如何建立索引? 有对SQL SERVER的数据复制熟悉的朋友吗?最好是有实际开发经验的,进来帮兄弟解决个难题!先谢了 做个db2签到,看看多少人在用db2?
2建立RDO对象
3通过连接字符串访问。
出处:www.csdn.net连接数据库查询手册(不仅仅适用于asp)(ghj1976 转贴)
出处:http://www.active.com.cn
正文:
下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less,
OLE DB Provider,和"MS Remote" Provider.
1。ODBC DSN连接
I.DSN
oConn.Open "DSN=AdvWorks;" & _
"UID=Admin;" & _
"PWD=;"
注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中
你必须同时使用DSN,UID,PWD标志。例如下面的方式在MDAC 2.1中将会出错:
oConn.Open "AdvWorks"II.File DSN
oConn.Open "FILEDSN=\somepath\mydb.dsn;" & _
"UID=Admin;" & _
"PWD=;"
III.ODBC DSN-Less Connections
a)ODBC Text Driver
oConn.Open _
"Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"Dbq=\somepath\;" & _
"Extensions=asc,csv,tab,txt;" & _
"Persist Security Info=False"
注意:需要在SQL语句中指定使用到的文件名。例如:
oRs.Open "Select * From customer.csv", _
oConn, adOpenStatic, adLockReadOnly, adCmdText
b)ODBC Driver for Access
i)普通安全模式:
oConn.Open _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"Uid=Admin;" & _
"Pwd=;"
ii)如果使用了System database:
oConn.Open _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"SystemDB=\somepath\mydb.mdw;", _
"admin", ""
c)ODBC Driver for SQL Server
i)普通安全模式
oConn.Open "Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=sa;" & _
"Pwd=;"
ii)使用信任安全模式:
oConn.Open "Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=;" & _
"Pwd=;"
注意:要使用空白的Uid和Pwd
d)ODBC Driver for Oracle
i)使用现有的Oracle ODBC Driver from Microsoft:
oConn.Open _
"Driver={Microsoft ODBC for Oracle};" & _
"Server=OracleServer.world;" & _
"Uid=demo;" & _
"Pwd=demo;"
ii)使用老版本的Oracle ODBC Driver from Microsoft:
oConn.Open _
"Driver={Microsoft ODBC Driver for Oracle};" & _
"ConnectString=OracleServer.world;" & _
"Uid=demo;" & _
"Pwd=demo;"
IIII)使用微软的OLE DB Data Link Connections方式Data Link File (UDL)
a)使用绝对路径
oConn.Open "File Name=\somepath\pubs.udl;"
b)使用相对路径
oConn.Open "File Name=pubs.udl;"
V)OLE DB Provider Connections方式
a)OLE DB Provider for ODBC Databases
i)Access (Jet):
oConn.Open _
"Provider=MSDASQL;" & _
"Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=\somepath\mydb.mdb;" & _
"Uid=Admin;" & _
"Pwd=;"
ii)SQL Server:
oConn.Open _
"Provider=MSDASQL;" & _
"Driver={SQL Server};" & _
"Server=carl2;" & _
"Database=pubs;" & _
"Uid=sa;" & _
"Pwd=;"
b)OLE DB Provider for Microsoft Jet (Access)
i)普通安全模式:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"User Id=admin;" & _
"Password=;"
ii)如果使用了System database:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"Jet OLEDB:System Database=system.mdw;", _
"admin", ""
注意:当使用OLE DB Provider4.0版本是,需要把MDB和MDW文件转换成4.0的数据库格式
iii)如果MDB需要一个数据库密码的话:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;" & _
"Jet OLEDB:Database Password=MyDbPassword;", _
"admin", ""
c)OLE DB Provider for Excel Spreadsheet:
oConn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\expenses.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
注意: "HDR=Yes"表示在第一行中是行标题,在provider中将不把第一行包括入recordset中
d)OLE DB Provider for SQL Server
i)普通安全模式:
oConn.Open "Provider=sqloledb;" & _
"Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"User Id=sa;" & _
"Password=;"
ii)使用信任安全模式:
oConn.Open "Provider=sqloledb;" & _
Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"Trusted_Connection=yes;"
注意:"Network Library=DBMSSOCN"声明OLE DB使用TCP/IP替代Named Pipes.
e)OLE DB Provider for Oracle
oConn.Open "Provider=msdaora;" & _
"Data Source=OracleServer.world;" & _
"User Id=sa;" & _
"Password=;"
(VI)Remote OLE DB Provider Connections方式(就是我一直在研究的RDS方式哦,呵呵。):
a)MS Remote - Access (Jet)
i)ODBC DSN:
oConn.Open "Remote Server=http://carl2;" & _
"Remote Provider=MSDASQL;" & _
"DSN=AdvWorks;" & _
"Uid=admin" & _
"Pwd=;"
ii)OLE DB Provider:
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;", _
"admin", ""
iii)OLE DB Provider自定义事务对象
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Handler=MSDFMAP.Handler;" & _
"Data Source=MyAdvworksOLEDBConnectTag;"
b)MS Remote - SQL Server
i)ODBC DSN:
oConn.Open "Remote Server=http://carl2;" & _
"Remote Provider=MSDASQL;" & _
"Network Library=DBMSSOCN;" & _
"DSN=Pubs;" & _
"Uid=sa" & _
"Pwd=;"
ii)OLE DB Provider
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Remote Provider=SQLOLEDB;" & _
"Network Library=DBMSSOCN;" & _
"Data Source=carl2;" & _
"Initial Catalog=pubs;" & _
"User ID=sa;" & _
"Password=;"
void InitializeAndEstablishConnection()
{
//Initialize the COM library.
CoInitialize(NULL); //Obtain access to the SQLOLEDB provider.
hr = CoCreateInstance(
CLSID_SQLOLEDB,
NULL,
CLSCTX_INPROC_SERVER,
IID_IDBInitialize,
(void **) &pIDBInitialize);
if (FAILED(hr))
{
cout << "Failed in CoCreateInstance().\n";
} /*
Initialize the property values needed
to establish the connection.
*/
for(i = 0; i < nInitProps; i++)
VariantInit(&InitProperties[i].vValue);
//Specify server name.
InitProperties[0].dwPropertyID = DBPROP_INIT_DATASOURCE;
InitProperties[0].vValue.vt = VT_BSTR;
InitProperties[0].vValue.bstrVal =
SysAllocString(L"127.0.0.1");
InitProperties[0].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[0].colid = DB_NULLID; //Specify database name.
InitProperties[1].dwPropertyID = DBPROP_INIT_CATALOG;
InitProperties[1].vValue.vt = VT_BSTR;
InitProperties[1].vValue.bstrVal =
SysAllocString(L"pubs");
InitProperties[1].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[1].colid = DB_NULLID; //Specify username (login).
InitProperties[2].dwPropertyID = DBPROP_AUTH_USERID;
InitProperties[2].vValue.vt = VT_BSTR;
InitProperties[2].vValue.bstrVal =
SysAllocString(L"sa");
InitProperties[3].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[3].colid = DB_NULLID; //Specify password.
InitProperties[3].dwPropertyID = DBPROP_AUTH_PASSWORD;
InitProperties[3].vValue.vt = VT_BSTR;
InitProperties[3].vValue.bstrVal = SysAllocString(L"lovevc++");
InitProperties[3].dwOptions = DBPROPOPTIONS_REQUIRED;
InitProperties[3].colid = DB_NULLID; /*
Now that properties are set, construct the DBPROPSET structure
(rgInitPropSet). The DBPROPSET structure is used to pass an array
of DBPROP structures (InitProperties) to the SetProperties method.
*/
rgInitPropSet[0].guidPropertySet = DBPROPSET_DBINIT;
rgInitPropSet[0].cProperties = 4;
rgInitPropSet[0].rgProperties = InitProperties; //Set initialization properties.
hr = pIDBInitialize->QueryInterface(
IID_IDBProperties,
(void **)&pIDBProperties);
if (FAILED(hr))
{
cout << "Failed to obtain IDBProperties interface.\n";
} hr = pIDBProperties->SetProperties(
nPropSet,
rgInitPropSet);
if(FAILED(hr))
{
cout << "Failed to set initialization properties.\n";
}
pIDBProperties->Release(); //Now establish a connection to the data source.
if(FAILED(pIDBInitialize->Initialize()))
{
cout << "Problem in initializing.\n";
}
} //end of InitializeAndEstablishConnection.2、ATL 模式
不用我说了吧,用CDataSource,然后把上面相应的属性通过CDBPropSet添加进去就OK了。哈哈