私には4台のPCがあります。 2は完全セットアップSQ Server 2012セットアップ、1はデータベースセットアップ以外はすべて1、SQLセットアップはまったくありません。 3つのSQL設定は、データベース設定があるサブサーバーと呼ばれるものに接続します。 SQLがインストールされていないものは接続されず、例外がスローされます。 ここに私の接続文字列があります。 ID = sa;パスワード= Xxxx1234; OLE DBサービス= -2;初期カタログ= score_data;データソース= 192.168.9.25,1433;初期ファイル名= "";パケットサイズ= 4096;自動変換= True;サーバーSPN = "";ここで クライアントにインストールされているSQLの一部をSQL Server 2012に接続する
は私のDelphiのコードは、この文字列を作成し、function TFrmTb2.ConnectToSqlDB(Var DataBase : TADOConnection; Catalog : String; Var Msg : ShortString) : Boolean;
var
cntStr : String;
begin
msg := '';
CntStr := DataBase.Name;
if not DataBase.Connected then
begin
if Not DataBase.Connected then
begin
with FrmTb2 do
begin //Edit ConfigHdwe2016Nw.Ini in tne Score2016NW Directory section SQL
CntStr := 'Provider='+ReadIniStr(IniHdwe,'SQL','Provider')+';';//SQLNCLI11.1';//SQLNCLI10.1;';
CntStr := CntStr + 'Integrated Security='+ReadIniStr(IniHdwe,'SQL','Integrated Security')+';';//"";';
CntStr := CntStr + 'Persist Security Info='+ReadIniStr(IniHdwe,'SQL','Persist Security Info')+';';//False;';
CntStr := CntStr + 'User ID='+ReadIniStr(IniHdwe,'SQL','User ID')+';';//shithead;';
CntStr := CntStr + 'password='+ReadIniStr(IniHdwe,'SQL','password')+';';//shithead;';
CntStr := CntStr + 'OLE DB Services='+ReadIniStr(IniHdwe,'SQL','OLE DB Services')+';';// -2;';
CntStr := CntStr + 'Initial Catalog='+Catalog+';';
CntStr := CntStr + 'Data Source='+ReadIniStr(IniHdwe,'SQL','Data Source')+';';//\SQLEXPRESS;';
CntStr := CntStr + 'Initial File Name='+ReadIniStr(IniHdwe,'SQL','Initial File Name')+';';//"";';
CntStr := CntStr + 'Packet Size='+ReadIniStr(IniHdwe,'SQL','Packet Size')+';';//4096;';
CntStr := CntStr + 'Auto Translate='+ReadIniStr(IniHdwe,'SQL','Auto Translate')+';';//True;';
CntStr := CntStr + 'Server SPN='+ReadIniStr(IniHdwe,'SQL','Server SPN')+';';//""';
end;
// ShowMessage(CntStr);
DataBase.ConnectionString := CntStr;
try
DataBase.Connected := True;
if DataBase.Connected then
begin
// ShowMessage('After Conection');
result := True;
end
else
begin
result := False;
ShowMessage('Unable to Connect to Score2016Nw Database Bad Ip or Connection Missing1');
end;
except
result := False;
ShowMessage('Unable to Connect to Score2016Nw Database Bad Ip or Connection Missing2');
end;
end
else
result := True;
end
else
result := True; // we are still conected to the sql database
end;
マイネットワーク者が火災秋のポート1433が開いていることを私に指示を接続するために使用されている(これは、ハードウェアのwirewallであると私はアクセスできません) 。サブサーバーでip2がActive = Yesであることを確認して再確認しました。 Enabled =はい。 IPアドレス= 255.255.255.0(サブネットマスク)。 TCPポート= 1433とIPALL動的ポート= ''(空白)とTCPポート= 1433.私は見つけることができるすべてのポストについて読んだだけで、クライアントにSQL Server Express 2012をインストールするだけでは、サブサーバーを開き、データベースに接続します。問題を見つけるために使用できるツールはありますか?または、すべてのクライアントにSQL Serverをインストールする必要がありますか?(痛み)
「例外をスローする」と言うとき、実際にその例外が何であるか教えてください。私はそれがプロバイダを見つけることができなかったことを伝えていると推測しています。 –
ShowMessage( 'Score2016Nwデータベースに接続できません。データベースに不正なIPまたは接続がありません2');私のコードでは です。 –
これはあなた自身のコードによって生成されたカスタムエラーメッセージです。これは私たちには役に立たないものです。あなたは例外をキャッチしていますが、例外のメッセージを読んで、それが私たちに言うことを報告してみませんか?いずれにしても、私の答えに記述されているように、インストールされていないプロバイダ以外のあなたの質問にあなたが提供したもので正確なエラーを再現することは不可能です。 –