FoxPro/Visual FoxPro - ODBC con SQLConfigDataSource

   
Vista:

ODBC con SQLConfigDataSource

Publicado por Flavio (2 intervenciones) el 22/04/2010 21:43:52
Estoy necesitando crear una Origen de datos ODBC con SQLConfigDataSource desde FoxPro.


El problema es que le quiero indicar cuando debe utilizar el protocolo TCP/IP o cuando Canalización por nombre (named Pipes)

Hago lo siguiente


DECLARE INTEGER SQLConfigDataSource IN odbccp32;
INTEGER hwndParent,;
INTEGER fRequest,;
STRING lpszDriver,;
STRING lpszAttributes


ldsn=ALLTRIM(thisform.Pageframe1.Page1.descripcion.Value)

lUser=ALLTRIM(thisform.Pageframe1.Page2.txtuser.Value)

lPassword=ALLTRIM(thisform.Pageframe1.Page2.txtpass.Value)

lBase=ALLTRIM(thisform.Pageframe1.Page3.CmbBaseSel.Value)

lserver=ALLTRIM(thisform.Pageframe1.Page1.cmbServer.Value)

llenguaje='spanish'

lAutenWinNt=thisform.Pageframe1.Page2.chkSegWinNT.Value

lProtocolo="Network="+IIF(thisform.Pageframe1.Page3._optiongroup1.Value=1,'dbnmpntw','dbmssocn')+ Chr(0)



#DEFINE ODBC_ADD_DSN 1

#DEFINE ODBC_REMOVE_DSN 3

LOCAL lcDriver ,lcAttribs



*** Remueve el DSN anterior

lcDriver = "SQL Server"

lcAttribs = "DSN="+ALLTRIM(ldsn) + Chr(0)

nReturnValue = SQLConfigDataSource(0, ODBC_REMOVE_DSN, lcDriver, lcAttribs)



*** Crea el DSN

lcDriver = "SQL Server"

lcAttribs = "SERVER="+ALLTRIM(lserver)+ Chr(0)

lcAttribs = lcAttribs + "DESCRIPTION=Sistema de Gestion" + Chr(0)

lcAttribs = lcAttribs + "DSN="+ALLTRIM(ldsn) + Chr(0)

IF !Empty(llenguaje)

lcAttribs = lcAttribs +"Language="+ALLTRIM(llenguaje)+Chr(0)

ENDIF

lcAttribs = lcAttribs +lProtocolo



lcAttribs = lcAttribs +"DATABASE="+ALLTRIM(lBase) + Chr(0)



IF lAutenWinNt

lcAttribs = lcAttribs +"Trusted_Connection=Yes" + Chr(0)

ENDIF

nReturnValue = SQLConfigDataSource(0, ODBC_ADD_DSN, lcDriver, lcAttribs)

If nReturnValue = 1

Messagebox("System created",64,"SUCCESS")

Else

Messagebox("System creation failed",64,"ERROR")

ENDIF



El problema es que NO me da error, crea el origen de datos, pero queda como TCP/IP y no por Named Pipes cuando se lo indico..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder