vb 中用 ADO 访问 本机中的 sql 
局域网中的 sql
广域网中的 sql链接时,需要注意些什么?
在用 ADO 访问本机中的 sql 时:'方法一
Dim Conn As New adodb.Connection
Set Conn = New adodb.Connection
Conn.CursorLocation = adUseClient
Str = "driver={SQL Server};server=server;" & "uid=sa;pwd=sa;database=database"
Conn.Open Str'方法二
Dim Conn As New adodb.Connection
Conn.Open "provider=sqloledb;user id=sa;password=sa;" & "initial catalog=database;datasource=server"两种方法有何不同?

解决方案 »

  1.   

    方法1是DNS的连接方法,比较老
    方法2是OLEDB的方法,比较流行,而且也是微软的主推数据库连接引擎.
    连接的时候主要根据你的要求而定.
      

  2.   

    其实不管在本机还是局域网或广域网,重要的是配置SQL-Server要使用IP,而不要便用主机名。(当然在局域网同网段内没大的影响)本机IP:127.0.0.1或LocalHost
    局网内就直接用SQL所在服务器的IP广域网要注意服务器有公网IP,或者在内网但进行了端口映射(1433,如果端口映射已改变,要相应修改SQL和client连接串的端口)。保证从客户机能Ping通服务器IP,并且两边的1433端口是打开的。注意了以上,应该就可以了。
      

  3.   

    一个要设置odbc数据源,一个不用
      

  4.   

    在实际使用中,应用程序创建和使用各种 ADO 对象,ADO 对象框架调用享用的 OLE DB 提供者。为了访问 SQL Server 数据库,OLE DB 提供了两种不同的方法:用于 SQL Server 的 OLE DB 提供者以及用于 ODBC 的 OLE DB 提供者。一是利用 用于 ODBC 的 OLE DB 提供者(不使用 ODBC 数据源):
    Application----ADO ----ODBC------SQL DATA二是利用  SQL Server 的 OLE DB 提供者需要
    Microsoft OLE DB Provider for SQL Server 
    Application----ADO------OLE DB ----ODBC------SQL DATA
      

  5.   

    建议用后者,如果用后者,就可以建立一个DSN,这样更方便
      

  6.   

    Dim Conn As New adodb.Connection
    Conn.Open "provider=sqloledb;user id=sa;password=sa;" & "initial catalog=database;datasource=server"既然用微软的系统,那么跟着微软走就没有,用上面这个吧:)
      

  7.   

    方法二Dim Conn As New adodb.Connection
    Conn.Open "provider=sqloledb;user id=sa;password=sa;" & "initial catalog=database;datasource=server"既然用微软的系统,那么跟着微软走就没有错,用上面这个方式吧:)
      

  8.   

    谢谢 Jhzyz(Frank Feng黑名单上的人) 及各位大虾的解释!