Здравствуйте!
Одна SQL база для трендов установлена локально и прописана в настройках проекта, а SQL база для рецептов находится в локальной сети на другом сервере и работают с ней другие пользователи в другом программном обеспечении. Возможно ли работать с разными SQL базами данных на разных серверах, если в настройках задается доступ (логин-пароль) только к одному SQL серверу?
Как я понимаю, в скрипте Проекта на Delphi надо прописать авторизацию с логином и паролем для удаленного SQL сервера? Не подскажите как это сделать?
Вот пример:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, SqlExpr;
type
TForm1 = class(TForm)
SQLConnection1: TSQLConnection;
SQLQuery1: TSQLQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
SQLConnection1.DriverName := 'MySQL';
SQLConnection1.Params.Values['HostName'] := '10.0.0.10';
SQLConnection1.Params.Values['Database'] := 'mydatabase';
SQLConnection1.Params.Values['User_Name'] := 'myusername';
SQLConnection1.Params.Values['Password'] := 'mypassword';
SQLConnection1.Open;
SQLQuery1.SQL.Text := 'SELECT * FROM mytable';
SQLQuery1.Open;
DBGrid1.DataSource := DataSource1;
DataSource1.DataSet := SQLQuery1;
end;
end.
Связал два сервера SQL 2008 Enterpice.
Сделал запрос с выводом данных в TM_Table:
sQuery:= 'SELECT ID_Channel,MeasureDate,Value,State FROM [ASDK-VZ2].Telemera.dbo.Currents;';
tblMy.RunSQL(sQuery, tsSaveFixRow);
Выводит ошибку:
Invalid use of schema or catalog for OLE DB provider "SQLNCLI10" for linked server "ASDK-VZ2". A four-part name was supplied, but the provider does not expose the necessary interfaces to use a catalog or schema.
The OLE DB provider "SQLNCLI10" for linked server information about the error.
В SQL Менеджере видно таблицы, но при запросе:
SELECT [ID_Channel]
,[MeasureDate]
,[Value]
,[State]
FROM [ASDK-VZ2].[Telemera].[dbo].[Currents]
GO
Выдает:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "SQLNCLI10" for linked server "ASDK-VZ2" reported an error. The provider did not give any information about the error.
Msg 7312, Level 16, State 1, Line 1
Invalid use of schema or catalog for OLE DB provider "SQLNCLI10" for linked server "ASDK-VZ2". A four-part name was supplied, but the provider does not expose the necessary interfaces to use a catalog or schema.
С чем это связано и что надо посмотреть?
P.S.
Установил виртуал бокс, на нем прилинковал базу и прочитал данные!!!
Извиняюсь за беспокойство.
Видимо есть какая-то хрень на моей машине... :(