4Dでは外部データベースを使用することができます。つまりローカルデータベースではないデータベースに対してSQLクエリを実行できます。これを行うために、ODBCを使用して外部データソースに接続するか、直接他の4Dデータベースに接続することができます。
以下は外部データベースとの接続を管理するためのコマンドです:
 以下の例題は外部データソース (ORACLE)  に接続し、ORACLEデータベースからデータを取得、そしてORACLEデータベースとの接続を閉じ、ローカルデータベースに再接続する方法を示してい ます。
システムには"Test_ORACLE_10g"というデータソース名が登録されているものとします。
 ARRAY TEXT(aDSN;0)
 ARRAY TEXT(aDS_Driver;0)
 C_TEXT($Crt_DSN;$My_ORACLE_DSN)
 ARRAY TEXT(aTitles;0)
 ARRAY LONGINT(aNrActors;0)
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 ARRAY TEXT(aTitles;0)
 ARRAY TEXT(aDirectors;0)
 ARRAY TEXT(aMedias;0)
 C_LONGINT($MovieYear)
 C_TEXT($tQueryTxt)
 REDUCE SELECTION([MOVIES];0)
 $MovieYear:=1960
  
 $Crt_DSN:=Get current data source
 ALERT("The current DSN is "+$Crt_DSN)
 
  
 Begin SQL
    SELECT Year_of_Movie, Title, Director, Media, Sold_Tickets
    FROM MOVIES
    WHERE  Year_of_Movie >= :$MovieYear
    INTO :aMovieYear, :aTitles, :aDirectors, :aMedias, :aSoldTickets;
 End SQL
 
  
 GET DATA SOURCE LIST(User data source;aDSN;aDS_Driver)
 $My_ORACLE_DSN:="Test_Oracle_10g"
 If(Find in array(aDSN;$My_ORACLE_DSN)>0)
  
 
 SQL LOGIN($My_ORACLE_DSN;"scott";"tiger";*)
 
  
 $Crt_DSN:=Get current data source
 ALERT("The current DSN is "+$Crt_DSN)
 ARRAY TEXT(aTitles;0)
 ARRAY LONGINT(aNrActors;0)
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 ARRAY TEXT(aTitles;0)
 ARRAY TEXT(aDirectors;0)
 ARRAY TEXT(aMedias;0)
 
  
 Begin SQL
    SELECT ENAME FROM EMP INTO :aTitles
 End SQL
 
  
 SQL LOGOUT
  
 $Crt_DSN:=Get current data source
 ALERT("The current DSN is "+$Crt_DSN)
Else
 ALERT("ORACLE DSN not installed")
End ifこれをテストするには、 "4D SQL Code Samples" データベースのメインウィンドウでConnect to  ORACLE ボタンをクリックします。