Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: ODBC Verbindung innerhalb des MSSQL Servers aufbauen

  Alt 14. Nov 2007, 12:42
Viiiiel googeln löste dann plötzlich mein Problem...

Es lag am Connectionstring, den ich im Parameter @provstr bei sp_addlinkedserver übergebe. Ist wohl ein AS400 typisches Problem. Durch Setzen von BLOCKSIZE=0 (anstatt 32 = 32kB) werden ALLE Zeilen zurückgeliefert...

Hier nochmals das Ganze vervollständigt:

SQL-Code:
EXEC sp_addlinkedserver
   @server = 'Servername',
   @srvproduct = 'AS400 Client Access',
   @provider = 'MSDASQL',
   @provstr = 'Driver={iSeries Access ODBC Driver};SYSTEM=AS400;CMT=0;DBQ=DBNAME_ON_AS400;NAM=0;DFT=5;DSP=1;TFT=0;TSP=0;DEC=0;XDYNAMIC=0;RECBLOCK=2;BLOCKSIZE=0;SCROLLABLE=0;TRANSLATE=0;LAZYCLOSE=1;LIBVIEW=0;REMARKS=0;CONNTYPE=0;SORTTYPE=0;PREFETCH=0;DFTPKGLIB=QGPL;LANGUAGEID=ENU;SORTWEIGHT=0;MAXFIELDLEN=32;COMPRESSION=0;ALLOWUNSCHAR=0;SEARCHPATTERN=1;MGDSN=0'

EXEC sp_serveroption
   @server = 'DBNAME_ON_AS400',
   @optname = 'data access',
   @optvalue = TRUE

EXEC sp_addlinkedsrvlogin
  @rmtsrvname = 'DBNAME_ON_AS400',
  @useself = false,
  @rmtuser = 'username',
  @rmtpassword = 'password'
Abfragen kann man das Ganze dann mit
select m.* from OpenQuery(DBNAME_ON_AS400, 'select * from Medecinn order by nommed') m
  Mit Zitat antworten Zitat