外部网络远程连接局域网中的数据库
分公司的电脑想共用总公司局域网的数据库,用下面这段代码连接局域网内的SQL SERVER没问题,通过IP(公司的专线IP,非局域网IP)连接就提示找不到数据库,请高手看看,如何才能实现呢?
DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRING
lnWindowHandle=0
lcODBCDriver='SQL Server' &&DRIVER类型
lcODBCName='ks_xn' &&数据源名字
lcODBCDesc='' &&数据源描述
lcODBCServer='***' &&SQL SERVER名字 服务器名\实例名 可用, 外网IP地址不可用
lcODBCDatabase='***' &&要连接的数据库名字
**先试图修改已有的ODBC,如果不存在,返回0。
lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
IF lreturn=0 &&不存在
**添加新的ODBC
lreturn=SQLConfigDataSource(lnWindowHandle, 1, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'network=DBNMPNTW' + CHR(0) ;
+ 'AutoTranslate=No' + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
IF lreturn=0 &&失败
MessageBox('添加ODBC数据源失败',16,'BUFFER')
ENDIF
ENDIF