程序中用ADO 不用ODBC 建立到sql server 的连接?
很多有关ADO的文章都说到 用ADO访问远程数据,可以不需要配置ODBC数据源,可是本人在实际开发应用软件中,用ADO访问sql server 时,还是必须先在“ODBC数据源”管理程序中手工配置好ODBC驱动,再在VB程序中用类似如下连接串连接才能成功。
dim cnnb as As New ADODB.Connection
cnnb.ConnectionString ="PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER=servera;DATABASE=pubs;UID=sa;PWD=yyuui" 
cnnb.open请问如何才能不需先配置ODBC驱动,直接用ADO对象访问sql server数据库?请高手赐教,谢谢!

解决方案 »

  1.   

    假设用户sa,空密码
    Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=数据库名;Data Source=服务器名
      

  2.   

    ado连接数据库有多种方式,其中一种是通过ODBC数据源连接。你若不想通过ODBC数据源连接,当然可以,通过OLE DB数据源连接效果更加理想!CONNECTIONSTRING = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=TRUE;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名"这样配置连接字符串就搞定了!简单吧?
      

  3.   

    可以用一个ADODC控件来生成连接字符串,选择提供者的时候,选SQLServer提供者,不要选ODBC
      

  4.   

    cnn.connectionstring=”Driver={Sql server};server=SeverName;database=数据库名;UID=sa;Pwd=”
    或者‘
    //cnn.ConnectionString="provider=SQLOLEDB.1;Persist Security Info=true;User ID=sa;Password=;Initial Catalog=数据库名;data source=服务器名"
      

  5.   

    先引用一个"Microsoft ActiveX Data Objects 2.8Library"
    再定义Cn ,Rs ,SQLStr
    Dim Cn As ADODB.Connection  '# 连接ActiveConnection
     Dim Rs As ADODB.Recordset
    Dim SQLStr As String
       '1.打开数据
       Set Cn = New ADODB.Connection
       'Set RS = New ADODB.Command
            
       SQLStr = "Provider=SQLOLEDB.1;Persist Security " & _
                              "Info=False;Initial Catalog=" & _
                              "LYB" & ";Data Source=" & _
                              "BOBO" & ";User ID=" & _
                              "sa" & ";Password=" & _
                              "BOBO3111" & ";"
                              
       Cn.Open SQLStr
    info=false
    initial catalog=SQL服务器名
    data sourec=数据库名
    user id=登录的用户名
    password =密码
    完全可以,我用的就是这个.
      

  6.   

    同意5楼的看法
    不过他的调用是用
    cn.excute sql
    sql 是执行语句
    sql="insert into~~~~"
    等等
      

  7.   

    Ado可以不通过ODBC来访问数据库,可以通过一个ADODC控件来得到这个连接字符串
      

  8.   

    我用的是SQLSERVER2000数据库,怎么才能动态连接呢??给以下结构赋值:
    SQLCA.DBMS       = xxx
    SQLCA.Database   = xxx
    SQLCA.LogID      = xxx
    SQLCA.LogPass    = xxx
    SQLCA.ServerName = xxx
    SQLCA.UserID     = xxx
    SQLCA.DBPass     = xxx
    SQLCA.Lock       = xxx
    SQLCA.DbParm     = xxxConnect Using Sqlca;//编写ini文件
    [Database]
    DBMS="MSS Microsoft SQL Server 6.x"
    UserId="lin"
    DatabasePassword="lin"
    LogPassword="lin"
    LogId="lin"
    DbParm=""     
    ServerName="172.16.9.28"
    Database ="lin"
    //在应用程序对象的OPEN事件中编辑代码
    SQLCA.DBMS         =ProfileString("ss.INI","Database","DBMS"," ")
    SQLCA.Database     =ProfileString("ss.INI","Database","DataBase"," ")
    SQLCA.LogID        =ProfileString("ss.INI","Database","LogID"," ")
    SQLCA.LogPass      =ProfileString("ss.INI","Database","LogPassword"," ")
    SQLCA.ServerName   =ProfileString("ss.INI","Database","ServerName"," ")
    SQLCA.UserID       =ProfileString("ss.INI","Database","UserID"," ")
    SQLCA.DBPass       =ProfileString("ss.INI","Database","DatabasePassword"," ")
    SQLCA.Lock         =ProfileString("ss.INI","Database","Lock"," ")
    SQLCA.DbParm       =ProfileString("pb.INI","Database","DbParm"," ")
    connect using sqlca;
    if sqlca.sqlcode<>0 then
    messagebox("提示!","连接数据库失败!")
    else
    open(w_object)
    end if