Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请教:数据库连接问题

lixiang  发表于:2008-11-20 10:16:36  
复制

我用的access里的表都是用odbc连接到服务器上的sql上的,我在写代码时用其它地方看到的语句:

rs.open stemp,currentproject.connection,adopenkeyset,adlockoptimistic

但是这样就会出错,不知道该怎么写?请哪位高手能帮助我吗?万分感谢。

 

Top
钱玉炜 发表于:2008-11-20 12:58:13
currentproject.connection链接到SQL里就不应该这样用了,应该写你具体的后台链接的信息

lixiang 发表于:2008-11-21 17:04:30

怎么写呢?能说的详细点ma?

thanks.



黎红军 发表于:2008-11-27 06:38:19

在不使用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地址,用户名,密码,数据库名称都不需要加引号。


 



总记录:3篇  页次:1/1 9 1 :