ODP AND DATABASE LINKS ???

Hi, some very weird stuff going on here:
When I bind data to my datagrid, if it comes through a database link in any way (either I code to access via a database link or I create a view with the link in it) I get only the first two chars of every field. Really weird, any ideas:
You can see four sql lines below- The only one that works is one that is a view on the local database(not the data i need), all the others only return first two chars of every item via the db link. In case two I created the view with the link in it.
Code in my DAL:
Public Function returnTissues(ByVal inFrom As String, ByVal inTo As String) As DataTable
Dim tissues As New DataTable
Dim command As New OracleCommand
Dim adapter As New OracleDataAdapter
Try
Dim sql As String = "select specimenid, status, sampletype, form, species from [email protected] where specimenid between '" & inFrom & "' and '" & inTo & "'"
'FAIL-Dim sql As String = "select specimenid, status, sampletype, form, species from specimen_view_sbat where specimenid = 'ONC000100'"
'PASS-Dim sql As String = "select * from request_view"
'FAIL-Dim sql As String = "select s_sampleid from [email protected] where s_sampleid = 'MGH000167'"
command.CommandText = sql
command.Connection = Me.globaldal.msdb
adapter.SelectCommand = command
adapter.Fill(tissues)
Return tissues
Catch ex As OracleException
Throw ex
Finally
End Try
End Function
Here is the page code:
Private Sub ButtonSearchByRange_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSearchByRange.Click
Dim fromvalue As String
Dim tovalue As String
fromvalue = TextboxFrom.Text
tovalue = TextBoxTo.Text
DataGridTissues.DataSource = tissuedal.returnTissues(fromvalue, tovalue)
DataGridTissues.DataBind()
End Sub
Also, I will materialize the view and try it, but it has got to be the ODP, the sql executes fine via slqplus, toad, etc, and It's not the grid, I bound the first column to a dropdown and got the same result.
My ENV:
Local DB 8.1.7.3 - I think
Remote DB 9 release 2
OPD: 9.2.0.4.01

Further testing has revealed:
The database link works fine when connected to another 8.1.7.4 instance as opposed to the 9.2.0.3.0 instance.
It makes no difference if the link is public or private.
Creating a materialized view with the database link in it to the 9.2.0.3.0 instance also works fine.
However none of the above is a solution.

Similar Messages

  • Apex and database links

    Hi,
    How does Apex perform using database links. We are currently on version 3.1.1.00.09 of Applicatiion Express and have all of our data in one database. We will soon be upgrading our environment to Oracle Database Appliance. We are thinking about splitting our staging area out of our existing database. We use Apex for our dashboard reporting. We are in hopes to upgrade to latest version of Apex. If we split our database up we will have to use database links to access data. How does Apex perform using database links. Will our Interactive reports work? Will performance degrade? Wanted to know your thoughts on that.
    Pam

    Having used such a model for several years, I'd confirm that it is possilble to make it work, however it may not be optimal, performance-wise (depending on your data model).
    Typically speaking, if you are just querying your external database "straight" (i.e. where all of the tables being queried are on the remote DB), you shouldn't notice a significant degradation in performance. The problems can come in when you either include "local" tables in your queries (in which case you need to decide which site should be 'driving') or where DML is involved (in which case the driving site defaults to the local DB) - your execution plans can change quite significantly and often for the worse.
    I have tried a few strategies to mitigate against this, including converting some DML statements to be based on pipelined table functions instead of views, creating local Materialized Views of commonly accessed data (usually aggregated in some manner), or caching result sets (i.e. using the built-in apex caching function) for something more flexible but ultimately it'd be easier if everything was sitting on the same DB.

  • Global_name and database link

    I have Windows XP with 10.2.0.1.0
    I have made my database global_name to be junk.points.com.
    And, I create a database link as:
    create database link preview using 'xxxxx';
    the db_link is preview.point.com.
    However, if I use the following command:
    create database link preview.system using 'xxxxx';
    the db_link is preview.system instead of preview.system.points.com.
    I expect the db_link should be preview.system.points.com. Please help.
    Thanks

    Hi,
    Specify the complete or partial name of the database link. If you specify only the database name, then Oracle Database implicitly appends the database domain of the local database.
    If the value of the GLOBAL_NAMES initialization parameter is TRUE, then the database link must have the same name as the database to which it connects. If the value of GLOBAL_NAMES is FALSE, and if you have changed the global name of the database, then you can specify the global name.
    Defining a CURRENT_USER Database Link: Example
    The following statement defines a current-user database link to the remote database, using the entire service name as the link name:
    CREATE DATABASE LINK remote.us.oracle.com
    CONNECT TO CURRENT_USER
    USING 'remote';
    The user who issues this statement must be a global user registered with the LDAP directory service.
    Please view the below document.
    http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5005.htm
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/ds_admin002.htm
    And please check the db links you posted one is having __.point.com
    and the other one is having ___.points.com
    Please make sure you are using the GLOBAL_NAMES set true and displaying correct dblink .
    Hope this will be helpful :)
    Thanks,
    Balaji K.

  • Portal and Database Links

    We are running Portal 3.0.9.8.0. I am wondering if anyone has come across away to disable the ability of users to create database links.

    Hi,
    You can do it only by revoking the "create database link" or "create public database link" privilege from the database schema
    to which the portal user is connected.
    For example say there is a user "erin" mapped to the database schema portal30, then you should go to the
    "Administer Database" tab and edit the schema using the "Schemas" portlet. In the roles tab remove "create pubic database link"
    or "create database link" privilege.
    This might help. But be careful not to remove the privilege from the portal schema, unless you do not want to create any
    database links as the portal schema.
    Thanks,
    Sharmila

  • BLOBs and Database Links

    Do Blobs work through Database Links? I have images in one database that I would like to render in a portal attached to another.

    Hi I tried the following in sqlplus:
    1)create a table(ATAB_CLOB) in a remote database(DB2) with a clob column
    2)connect to the database(DB1) and create a database link (ADBLINK1) for the
    remote database(DB2) .
    3) create a synonym (ASYN_TAB) based on the remote table (ATAB_CLOB) using the
    database link ADBLINK.
    4) Now try to create a view based on this synonym,I see the same error:
    SQL> create or replace view aview2 as select * from asyn_Tab;
    create or replace view aview2 as select * from asyn_Tab
    ERROR at line 1:
    ORA-22992: cannot use LOB locators selected from remote tables
    The message says it all.
    This is a database limitation.
    Hope this helps.
    Anu

  • Clones and database links

    Hi,
    I have generally found that after an instance (E-Business Suite) is cloned, the database links do not work in the cloned instance, and have to be recreated.
    Is there a reason why the database links do not work, as the target instance (in the db link) and its credentials remain the same?
    Thanks
    Jai

    Hi Carlo,
    I am not the DBA, so will not be able to answer any of your questions.
    I am in the Development team and just found it odd that a DB link needs to be re-created after a clone, even though all the information remains the same. The DBA team was not able answer my question - they just said that it is a step that needs to be done. I do not know how the tnsnames entries look, but I assume that is somehow having an impact as mentioned in the prior posts.
    Thanks
    Jai

  • Owb and database link creation

    hi everybody....
    I installed oracle 10g and owb on the samo machine (windows xp). When trying to create oracle module in owb it is required to create database link (is there any workaround?). But how can I create database link to local database when connected to local database???? Can anybody help me???
    thanks in advance

    thanx for your reply... I alredy tried everything.. but I always get this error:
    Testing...
    Failed.
    SQL Exception
    Repository Error:SQL Exception..
    Class Name: CacheMediator.
    Method Name: getDDEntryFromDB.
    Repository Error Message: ORA-28546: connection initialization failed, probable Net8 admin error
    Oracle instance works properly.. but I can not create Oracle module from OWB. Here is my tnsnames.ora file:
    ORCLANTI.LOCAL.HOST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = antix.login.net)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orclanti)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    here is my sqlnet.ora file
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    NAMES.DEFAULT_DOMAIN= local.host
    and here is my listener.ora file
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = E:\ora10g)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = orclanti.local.host)
    (ORACLE_HOME = E:\ora10g)
    (SID_NAME = orclanti)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = antix.login.net)(PORT = 1521))
    username and password are correct and db link name is ok!
    Now, do I have to enter SQL*Net connect string or hostname and oracle service name???
    I repeat... I already tried almost every combination!
    Thanks again
    maybe this is an Oracle configuration error because I am pretty new to this RDBMS :)
    another question:
    1. is ti possible to create a database link to local database (for example if I am connected to local database on my machine can I create database link from that database to same database but for another schema)???
    Message was edited by:
    antix

  • Problems with domain name in global_name and database links

    I have to create a database link on Oracle 9i **without** a domain. Somehow whenever I create a database link, a domain is added. This domain seems to be the domain that is also added to the database global name (and is the same as my TCP/IP domain on my windows machine).
    I tried to create the db link:
    create database link "TEST"
    connect to remotedb
    identified by mypassword
    using 'myservicename';
    and get:
    TEST.DOMAIN.COM instead of TEST.
    I also tried to change my database global name:
    alter database rename global_name to NEWNAME
    and still the database name is NEWNAME.DOMAIN.COM
    So there does not seem to be any way to remove the domain.
    Note that:
    - db_domain is not set in init.ora
    - names.default_domain is not set in sqlnet.ora
    - global_names = false
    So... how to get rid of the domain part?

    Hi,
    this is not what you want to hear, but once a global_name has a domain associated with it you can't get rid of it, you can change it to a different domain with the alter database command but not to null and it is this domain that will always get appended as default to your db link name so your stuck with it

  • Oracle Application server connection pool and database links

    I am using Oracle application server 10g with connection pools, the db used by the application connects to another oracle db using a database link. My question is when the application starts it creates 10 connections, does it also create x amount of database links as well?

    Hi,
    Is there any way to use the connection pool or Datasource while connecting to database?If I am using a stateless sesssion bean and using a Data Access layer which just creates a database session to write the persistence toplink objects how I can make use of application server connection pool?Hi Vinod,
    Yes, TopLink allows you to use the app server's connection pooling and transaction services. Chapter 2 of the Oracle9iAS TopLink Foundation Library Guide provides details as do the TopLink examples. The easiest way to set this up is by using the sessions.xml file. The sample XML below is from the file <toplink903>\examples\ias\examples\ejb\sessionbean\sessions.xml. Here we are adding the datasource defined in OC4J and specifying that we are using the OC4J transaction controller also.
    <login>
    <user-name>sa</user-name>
    <password></password>
    <datasource>java:comp/env/jdbc/ejbJTSDataSource</datasource>
    <uses-external-transaction-controller>true</uses-external-transaction-controller>
    <uses-external-connection-pool>true</uses-external-connection-pool>
    </login>
    <external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
    When using this approach you need to change your TopLink code slightly in the EJB methods:
    a. Acquire the ACTIVE unit of work from the server
    session (again, see the EmployeeSessionEJB code
    example) with something like:
    UnitOfWork uow = clientSession.getActiveUnitOfWork();
    b. Calls to uow.commit() can be ommitted or commented out
    because the EJB will handle this. Note that of course
    the methods you create in the EJB that are using this
    approach must have TX Required (default).
    Hope this helps.
    Pete

  • Jdbc (oci8) and database link ?

    hello,
    i try to select * from dual@DBNAME within a jdbc connection.
    1. we are connected with oci8 on a 9.2.0 database
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    String urlDefault = "jdbc:oracle:oci8:@DBM1.uvwendy";
    String url = null;
    2. then we prepare a statement
    rset=dblink_stmt.executeQuery ("select name from v$database@"+Database_Server+"_"+Database_SID+".UVDBM");
    while (rset.next ())
    System.out.println (rset.getString (1));
    } catch (SQLException e) {
    System.out.println ("Error REMOTE SELECT ..." + e);
    3. the error looks like this
    select name from v$database@UVGENEVA_GENEVADB.UVDBM
    Error REMOTE SELECT ...java.sql.SQLException: ORA-12154: TNS:could not resolve service name
    but when we execute the same statement in the database self then it works fine.
    the database link works fine.
    has anybody an idea for this behaviour?
    thank you very much,
    wolfgang

    hello,
    i try to select * from dual@DBNAME within a jdbc connection.
    1. we are connected with oci8 on a 9.2.0 database
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    String urlDefault = "jdbc:oracle:oci8:@DBM1.uvwendy";
    String url = null;
    2. then we prepare a statement
    rset=dblink_stmt.executeQuery ("select name from v$database@"+Database_Server+"_"+Database_SID+".UVDBM");
    while (rset.next ())
    System.out.println (rset.getString (1));
    } catch (SQLException e) {
    System.out.println ("Error REMOTE SELECT ..." + e);
    3. the error looks like this
    select name from v$database@UVGENEVA_GENEVADB.UVDBM
    Error REMOTE SELECT ...java.sql.SQLException: ORA-12154: TNS:could not resolve service name
    but when we execute the same statement in the database self then it works fine.
    the database link works fine.
    has anybody an idea for this behaviour?
    thank you very much,
    wolfgang

  • OWA_UTIL and HTP across database link

    Has anyone figured out how to use the features of OWA_UTIL, such as listprint, across a database link? I can create a drop list on data that is in the portal instance. But if I try to create a list based on a table in a back-end database through a database link, it generates errors.
    Also, I create a procedure to generate a dynamic page portlet using htp calls and it works fine if the procedure is located in the portal instance. But move the code to the back-end database and access via a synonym and database link and it generates errors out of the owa_util package.

    Create a view on your local db using tables over the db link and base your list on that view.

  • OWB-Location for Sybase is defined through database link but not working.

    Hi,
    HS details are configured and database link from oracle to sybase database is working fine. In OWB, table list of sybase database is also displayed. Location defined for sybase database through connector which refers to database link created from oracle to sybase. While defining location on clicking of "Test" it gives result as successful. But when validation program is run for that location, it gives error that validation failed, specify correct host name, port number etc.. now, i am not able to solve this as database link is working fine and it is displaying list of table from sybase database. All the heterogeneous settings are done. I tried but sybase database doesn't allow direct connectivity so i define the location using connector which points to database link. Is there any thing missing in the setting of HS and do sybase allow connectivity direct from owb ?
    Please help.
    (If problem is not clear, please spare time to ask a question, i will reply immediately.)
    With Regards,
    Amit Shah.

    Amit - did you get anywhere on this?

  • Creation of Database link and access the same plus Snapshot creation

    i want talk between two oracle server. i decided to go for snapshot creation with periodical refresh. For which i am having two oracle server's with different ip address located inside our office setup.
    I have created a database link between two servers.
    first server name global
    userid scott
    password tiger
    second server name asil
    userid scott
    password tiger
    both the user have been given dba rights.
    in both the server the services and listners are all started. i gave the following command to create database link.
    from asil server
    create public database link global connect by scott identified by tiger using 'global'
    the command was successful and the link was created. Now i tried to access a table of the scott user of the global server.
    select * from emp@global;
    now it is giving error. I want to know how the link can be created and how it can be accessed. i refered the 8i online documentation and done the things based on that. i expect valuble solution from all possible persons
    null

    A reason for this problem could be that your database is configured that a database link has to have exactly the same name like the global name of the database instance it should connect to.
    Can you please provide the oracle error code / message ? With this information there might be more hints I can give you.

  • HELP! FOR LOOP TO SCROLL THROUGH TABLE AND CREATE DATABASE LINK

    Hi,
    Here's the scenario, not much of a PL programmer, just basic SQL so really need some help people!
    I have 2 tables. 1 contains list of DB's and the other contains rules to follow.
    I need to create a loop that goes through the table containing the DB's and on each row a DB link is created (Only 1 link allowed!)
    Once created, the schema currently logged in with also has an account on the linked DB in order to run scripts- The scripts are stored centrally hence the requirement for the link to the target DB.
    There are numerous scripts that need to be executed and can all be called from 1 script, once executed the loop exists and the database link needs to be dropped.
    Once dropped, the first loop continues, creating a DB link for the next DB listed in the table (and all the scripts are fired again)
    This continues against all the DB's listed in the table.

    Hi BlueShadow,
    Thanks again for the response, you've hit the nail on the head. SQL scripts on a unix server, a loop goes through a table 1 at a time. Each row gets a link created and then all the scripts stored on the server are executed against the db linked to. So I'm assuming this is a loop within a loop.
    1 loop to go through the table to create the link and then another loop within once connected to execute all the scripts against the connected DB. Once the scripts are run, the loop exits and moves onto the next server and so on until all the servers have the scripts are run.
    It's PL/SQL scripts we're after and not shell scripts as this would free us from the OS constraints.
    We have to drop the links due to security. Any idea on o

  • Database link error when compiling forms 6.0 and forms 6i.

    Dear sirs,
    We have a database link between two databases of the same version oracle 8.0.5.
    Recently we have upgraded one of our databases to version 9.2.0.1 (the database where the database link was originally created ) and now we are having problems when compiling forms that have PL/SQL blocks using the database link.
    The error message received when compiling the form is the following:
    ORA-02068: Following severe error from dbproduc.world
    ORA-00600: Internal error code, arguments: [No conversion op],[],[],[],[],[],[],[]
    The forms did not present this error before, it began when we made the upgrade.
    Is this a FORMS 6.0 problem ?
    Is this an ORACLE 8.0.5 problem ?
    Is this an ORACLE 9.2.0.1 problem ?
    Can you please give me some advice to solve this problem ?
    Thanks in advance

    As I see, when you use a non-oracle database the tables don`t appear, you must create the realation with the table manually, on the properties

Maybe you are looking for