发布日期:2005年1月12日
作    者:竹笛
出    处:http://www.accessoft.com/Article_Show.asp?ArticleID=348

正    文:

   在不使用DSN文件的情况下,我们可以通过下面的代码来创建对SQL SEVER2000的表链接。使用这个方法,可以防止用户知道您的数据库存放地址。

示例代码:
 方法一:

    DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DRIVER=SQL Server;SERVER=IP地址;UID=用户名;PWD=密码;DATABASE=数据库名称", acTable, "目标表名称", "链接表名称", True

 方法二:
Function LinkToPubsAuthorsDSNLess()

    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim strConnect As String
    Dim strServer As String
    Dim strDatabase As String
    Dim strUID As String
    Dim strPWD As String
    strServer = "IP地址"
    strDatabase = "数据库名称"
    strUID = "用户名"
    strPWD = "数据库密码"

    strConnect = "ODBC;DRIVER={SQL Server}" _
               & ";SERVER=" & strServer _
               & ";DATABASE=" & strDatabase _
               & ";UID=" & strUID _
               & ";PWD=" & strPWD & ";"

    Set db = CurrentDb()
    Set tdf = db.CreateTableDef("要创建的链接表名称")
    tdf.SourceTableName = "目标表名称"

    tdf.Connect = strConnect

    db.TableDefs.Append tdf
    db.TableDefs.Refresh

    Set tdf = Nothing
    Set db = Nothing

End Function

说明:上面代码中的IP地址,用户名,密码,数据库名称都不需要加引号。

致谢:本技巧得到了微软动力营工程师mgcheng和微软MVP ge chen先生的帮助,在此致谢!

 

1 回复,0 引用: 无需*.DSN文件创建对SQL SEVER数据库的链接

    • quote 1. jack 于  2008-12-3 11:22:47 说:
    • 第二段代码使用有问题
    • 回复该留言

添加回复

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。